Das Testprogramm
Um die Entscheidungstabelle automatisch testen zu können, wurde eine Test-Suite erstellt (Methode "RunSuite" in Klasse "CompareTest"):
D:\Projekte\LF‑ET-Demo\Cs\CompareTest.cs
using System;
namespace LfetDemo
{
class CompareTest : Compare
{
private int countTests = 0;
private int countFailed = 0;
static int Main()
{
return new CompareTest().RunSuite() == true ? 0 : 1;
}
public Boolean RunSuite()
{
RunTestCase("a", "b", S1IsLessThanS2);
RunTestCase(null, "b", S1IsLessThanS2);
RunTestCase(null, "", S1IsLessThanS2);
RunTestCase(null, null, S1IsEqualToS2);
RunTestCase("", "", S1IsEqualToS2);
RunTestCase("a", "a", S1IsEqualToS2);
RunTestCase("", null, S1IsGreaterThanS2);
RunTestCase("a", null, S1IsGreaterThanS2);
RunTestCase("b", "a", S1IsGreaterThanS2);
Console.WriteLine("\n"
+ (countTests > 0 && countFailed == 0 ? "OK: " : "FEHLER: ")
+ "Ausgefuehrte Testfaelle: " + countTests
+ ", davon fehlerhaft: " + countFailed);
return countTests > 0 && countFailed == 0;
}
private void RunTestCase(string s1, string s2, string expectedResult)
{
countTests++;
var result = CompareStrings(s1, s2);
if (!result.Equals(expectedResult))
{
countFailed++;
Console.WriteLine("Fehler in Testfall: " + countTests);
Console.WriteLine(" s1=" + s1);
Console.WriteLine(" s2=" + s2);
Console.WriteLine(" result=" + result);
Console.WriteLine(" expectedResult=" + expectedResult);
}
return;
}
}
}