コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 private static void TestBooleanStrings(TokenRule rule, bool isBool)
 {
     AssertEquals(rule.Matches("True"), isBool);
     AssertEquals(rule.Matches("False"), isBool);
 }
コード例 #5
0
        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);
        }