// execute test cases for Scanner.IsSpace property public static void TestIsSpace() { var n = 0; var text = " \t\0\a\r\n1A"; var source = new ScannerStringSource(text); var results = new bool[] { true, true, true, true, false, false, false, false }; var test = new ScannerTestClass(source); foreach (var c in text) { TestCase( $"IsSpace at '{test.CharCode(test.CharCurrent)}'", () => test.IsSpace, results[n] ); source.Advance(1); ++n; } Console.WriteLine(); }
// execute test cases for Scanner.IsBreak property public static void TestIsBreak() { var n = 0; var text = "\r \nZ\r\n\n\r"; var source = new ScannerStringSource(text); var results = new int[] { 1, 0, 1, 0, 2, 2 }; var test = new ScannerTestClass(source); while (!source.IsEnd) { TestCase( $"IsBreak at '{test.CharCode(test.CharCurrent)}'", () => test.IsBreak, results[n] ); source.Advance(results[n] == 0 ? 1 : results[n]); ++n; } Console.WriteLine(); }