public static void TestBooleanRule() { var rule = new TokenRule(Python3Parser.BOOL_REGEX); AssertEquals(rule.Matches(""), false); AssertEquals(rule.Matches("foo"), false); AssertEquals(rule.Matches("x0"), false); AssertEquals(rule.Matches("x0.0"), false); AssertEquals(rule.Matches("0x"), false); AssertEquals(rule.Matches("0.0x"), false); AssertEquals(rule.Matches("Trueabc"), false); AssertEquals(rule.Matches("abcTrue"), false); AssertEquals(rule.Matches("Falseabc"), false); AssertEquals(rule.Matches("abcFalse"), false); TestBooleanStrings(rule, true); TestIntStrings(rule, false); TestFloatStrings(rule, false); }
public static void TestIntRule() { var rule = new TokenRule(Python3Parser.INT_REGEX); AssertEquals(rule.Matches(""), false); AssertEquals(rule.Matches("foo"), false); AssertEquals(rule.Matches("x0"), false); AssertEquals(rule.Matches("x0.0"), false); AssertEquals(rule.Matches("0x"), false); AssertEquals(rule.Matches("0.0x"), false); AssertEquals(rule.Matches("01"), false); AssertEquals(rule.Matches("123abc"), false); AssertEquals(rule.Matches("abc123"), false); TestBooleanStrings(rule, false); TestIntStrings(rule, true); TestFloatStrings(rule, false); }
private static void TestFloatStrings(TokenRule rule, bool isFloat) { AssertEquals(rule.Matches("0."), isFloat); AssertEquals(rule.Matches(".0"), isFloat); AssertEquals(rule.Matches("1."), isFloat); AssertEquals(rule.Matches(".1"), isFloat); AssertEquals(rule.Matches("0.0"), isFloat); AssertEquals(rule.Matches("1.0"), isFloat); AssertEquals(rule.Matches("0.1"), isFloat); AssertEquals(rule.Matches("01.0"), isFloat); AssertEquals(rule.Matches("0.10"), isFloat); AssertEquals(rule.Matches("21.1"), isFloat); AssertEquals(rule.Matches("0e0"), isFloat); AssertEquals(rule.Matches("0e+3"), isFloat); AssertEquals(rule.Matches("0e-3"), isFloat); AssertEquals(rule.Matches("21.1e3"), isFloat); AssertEquals(rule.Matches("21.1e+3"), isFloat); AssertEquals(rule.Matches("21.1e-3"), isFloat); AssertEquals(rule.Matches("21.1e0"), isFloat); AssertEquals(rule.Matches("21.1e+0"), isFloat); AssertEquals(rule.Matches("21.1e-0"), isFloat); AssertEquals(rule.Matches("+0."), isFloat); AssertEquals(rule.Matches("+.0"), isFloat); AssertEquals(rule.Matches("+1."), isFloat); AssertEquals(rule.Matches("+.1"), isFloat); AssertEquals(rule.Matches("+0.0"), isFloat); AssertEquals(rule.Matches("+1.0"), isFloat); AssertEquals(rule.Matches("+0.1"), isFloat); AssertEquals(rule.Matches("+01.0"), isFloat); AssertEquals(rule.Matches("+0.10"), isFloat); AssertEquals(rule.Matches("+21.1"), isFloat); AssertEquals(rule.Matches("+0e0"), isFloat); AssertEquals(rule.Matches("+0e+3"), isFloat); AssertEquals(rule.Matches("+0e-3"), isFloat); AssertEquals(rule.Matches("+21.1e3"), isFloat); AssertEquals(rule.Matches("+21.1e+3"), isFloat); AssertEquals(rule.Matches("+21.1e-3"), isFloat); AssertEquals(rule.Matches("+21.1e0"), isFloat); AssertEquals(rule.Matches("+21.1e+0"), isFloat); AssertEquals(rule.Matches("+21.1e-0"), isFloat); AssertEquals(rule.Matches("-0."), isFloat); AssertEquals(rule.Matches("-.0"), isFloat); AssertEquals(rule.Matches("-1."), isFloat); AssertEquals(rule.Matches("-.1"), isFloat); AssertEquals(rule.Matches("-0.0"), isFloat); AssertEquals(rule.Matches("-1.0"), isFloat); AssertEquals(rule.Matches("-0.1"), isFloat); AssertEquals(rule.Matches("-01.0"), isFloat); AssertEquals(rule.Matches("-0.10"), isFloat); AssertEquals(rule.Matches("-21.1"), isFloat); AssertEquals(rule.Matches("-0e0"), isFloat); AssertEquals(rule.Matches("-0e+3"), isFloat); AssertEquals(rule.Matches("-0e-3"), isFloat); AssertEquals(rule.Matches("-21.1e3"), isFloat); AssertEquals(rule.Matches("-21.1e+3"), isFloat); AssertEquals(rule.Matches("-21.1e-3"), isFloat); AssertEquals(rule.Matches("-21.1e0"), isFloat); AssertEquals(rule.Matches("-21.1e+0"), isFloat); AssertEquals(rule.Matches("-21.1e-0"), isFloat); }
private static void TestBooleanStrings(TokenRule rule, bool isBool) { AssertEquals(rule.Matches("True"), isBool); AssertEquals(rule.Matches("False"), isBool); }
private static void TestIntStrings(TokenRule rule, bool isInt) { AssertEquals(rule.Matches("0"), isInt); AssertEquals(rule.Matches("000000000"), isInt); AssertEquals(rule.Matches("10"), isInt); AssertEquals(rule.Matches("11"), isInt); AssertEquals(rule.Matches("123451234512345"), isInt); AssertEquals(rule.Matches("+0"), isInt); AssertEquals(rule.Matches("+000000000"), isInt); AssertEquals(rule.Matches("+10"), isInt); AssertEquals(rule.Matches("+11"), isInt); AssertEquals(rule.Matches("+123451234512345"), isInt); AssertEquals(rule.Matches("-0"), isInt); AssertEquals(rule.Matches("-000000000"), isInt); AssertEquals(rule.Matches("-10"), isInt); AssertEquals(rule.Matches("-11"), isInt); AssertEquals(rule.Matches("-123451234512345"), isInt); }