public void TryParse_LiteralStartingWithChar_MustReturnTrue() { ParserAssert.IsTrue <LiteralToken>(_parser, "ab_1 asd ", 4, out _); ParserAssert.IsTrue <LiteralToken>(_parser, "ab_2-asd ", 4, out _); ParserAssert.IsTrue <LiteralToken>(_parser, "ab_3,asd ", 4, out _); ParserAssert.IsTrue <LiteralToken>(_parser, "abc4(asd ", 4, out _); ParserAssert.IsTrue <LiteralToken>(_parser, "abc0;asd ", 4, out _); }
public void TryParse_LiteralStartingWithUnderscore_MustReturnTrue() { ParserAssert.IsTrue <LiteralToken>(_parser, "_ab_1 asd ", 5, out _); ParserAssert.IsTrue <LiteralToken>(_parser, "_ab_2-asd ", 5, out _); ParserAssert.IsTrue <LiteralToken>(_parser, "_ab_3,asd ", 5, out _); ParserAssert.IsTrue <LiteralToken>(_parser, "_abc4(asd ", 5, out _); ParserAssert.IsTrue <LiteralToken>(_parser, "_abc0;asd ", 5, out _); }
public void TryParse_RoundBrackets_MustReturnTrue() { ParenthesisToken token; ParserAssert.IsTrue(_parser, "(", 1, out token); Assert.IsTrue(token.IsOpen); ParserAssert.IsTrue(_parser, ")", 1, out token); Assert.IsFalse(token.IsOpen); }
public void TryParse_First256Chars_MustReturnTrueOnlyIfCharIsAnArithmeticSymbol() { for (var c = (char)0; c <= 256; c++) // includes: latin letters, numbers, and symbols { if ("+-*/%".IndexOf(c) > -1) { ParserAssert.IsTrue <ArithmeticSymbolToken>(_parser, c.ToString(), 1, out _); } else { Assert.IsFalse(_parser.TryParse(c.ToString(), 0, out _, out _)); } } }
public void TryParse_Number_MustReturnTrue() { NumberToken token; ParserAssert.IsTrue(_parser, "1234", 4, out token); Assert.AreEqual(1234, token.Number); ParserAssert.IsTrue(_parser, "1e-7", 4, out token); Assert.AreEqual(1e-7, token.Number); ParserAssert.IsTrue(_parser, "5.09", 4, out token); Assert.AreEqual(5.09, token.Number); ParserAssert.IsTrue(_parser, "1.33", 4, out token); Assert.AreEqual(1.33, token.Number); ParserAssert.IsTrue(_parser, "1e10", 4, out token); Assert.AreEqual(1e10, token.Number); ParserAssert.IsTrue(_parser, "1e+3", 4, out token); Assert.AreEqual(1e+3, token.Number); ParserAssert.IsTrue(_parser, "1_23", 4, out token); Assert.AreEqual(1_23, token.Number); ParserAssert.IsTrue(_parser, "1,23", 1, out token); Assert.AreEqual(1, token.Number); ParserAssert.IsTrue(_parser, "-123", 4, out token); Assert.AreEqual(-123, token.Number); ParserAssert.IsTrue(_parser, "-2e3", 4, out token); Assert.AreEqual(-2e3, token.Number); ParserAssert.IsTrue(_parser, "-9.1", 4, out token); Assert.AreEqual(-9.1, token.Number); ParserAssert.IsTrue(_parser, "+5.3", 4, out token); Assert.AreEqual(+5.3, token.Number); }
public void TryParse_Comma_MustReturnTrue() { ParserAssert.IsTrue <SeparatorToken>(_parser, ",", 1, out _); }
public void TryParse_LessThan_MustReturnTrue() { ParserAssert.IsTrue <ComparisonToken>(_parser, "< ", 1, out _); ParserAssert.IsTrue <ComparisonToken>(_parser, "< =", 1, out _); }
public void TryParse_GreaterThan_MustReturnTrue() { ParserAssert.IsTrue <ComparisonToken>(_parser, "> ", 1, out _); ParserAssert.IsTrue <ComparisonToken>(_parser, "> =", 1, out _); }
public void TryParse_NotEqual_MustReturnTrue() { ParserAssert.IsTrue <ComparisonToken>(_parser, "!== ", 3, out _); ParserAssert.IsTrue <ComparisonToken>(_parser, "!= ", 2, out _); ParserAssert.IsTrue <ComparisonToken>(_parser, "!===", 3, out _); }
public void TryParse_ExclamationMark_MustReturnTrue() { ParserAssert.IsTrue <NegationToken>(_parser, "!(true)", 1, out _); }
public void TryParse_FalseLowercaseWord_MustReturnTrue() { ParserAssert.IsTrue <BoolToken>(_parser, "false", 5, out _); }
public void TryParse_TrueLowercaseWord_MustReturnTrue() { ParserAssert.IsTrue <BoolToken>(_parser, "true", 4, out _); }
public void TryParse_Str_MustReturnTrue() { ParserAssert.IsTrue <StringToken>(_parser, "\"hello world\"", 13, out _); ParserAssert.IsTrue <StringToken>(_parser, "\'hello world\'", 13, out _); }
public void TryParse_Or_MustReturnTrue() { ParserAssert.IsTrue <LogicalOperatorToken>(_parser, "|| 1", 2, out _); ParserAssert.IsTrue <LogicalOperatorToken>(_parser, "||| )", 2, out _); ParserAssert.IsTrue <LogicalOperatorToken>(_parser, "||abc", 2, out _); }
public void TryParse_And_MustReturnTrue() { ParserAssert.IsTrue <LogicalOperatorToken>(_parser, "&& 1", 2, out _); ParserAssert.IsTrue <LogicalOperatorToken>(_parser, "&&& )", 2, out _); ParserAssert.IsTrue <LogicalOperatorToken>(_parser, "&&abc", 2, out _); }