Fixed Lexer tests
This commit is contained in:
@@ -8,9 +8,19 @@ namespace PashaBibko::LXC::Internal
|
||||
{
|
||||
static void ExpectTokens(const Lexer::LexerOutput& tokens, const std::vector<Lexer::Token::TokenType>& expected)
|
||||
{
|
||||
ASSERT_EQ(tokens.size(), expected.size());
|
||||
for (size_t i = 0; i < tokens.size(); i++)
|
||||
EXPECT_EQ(tokens[i].type, expected[i]);
|
||||
size_t length = std::min(tokens.size(), expected.size());
|
||||
for (size_t i = 0; i < length; i++)
|
||||
{
|
||||
bool equal = tokens[i].type == expected[i];
|
||||
|
||||
if (equal == false)
|
||||
{
|
||||
EXPECT_EQ(i, -1);
|
||||
EXPECT_STREQ(LXC::Lexer::TokenTypeToCStr(tokens[i].type), LXC::Lexer::TokenTypeToCStr(expected[i]));
|
||||
|
||||
return; // Early return stops the console from being filled with errors that may be incorrect
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,9 +140,11 @@ namespace PashaBibko::LXC::Lexer
|
||||
Token::Identifier, // add
|
||||
Token::OpenParen, // (
|
||||
Token::Identifier, // int
|
||||
Token::Colon, // :
|
||||
Token::Identifier, // a
|
||||
Token::Comma, // ,
|
||||
Token::Identifier, // int
|
||||
Token::Colon, // :
|
||||
Token::Identifier, // b
|
||||
Token::CloseParen, // )
|
||||
Token::OpenBrace, // {
|
||||
@@ -151,6 +163,7 @@ namespace PashaBibko::LXC::Lexer
|
||||
Token::CloseParen, // )
|
||||
Token::OpenBrace, // {
|
||||
Token::Identifier, // int
|
||||
Token::Colon, // :
|
||||
Token::Identifier, // c
|
||||
Token::Assign, // =
|
||||
Token::Identifier, // add
|
||||
@@ -192,6 +205,7 @@ namespace PashaBibko::LXC::Lexer
|
||||
Token::Identifier, // fib
|
||||
Token::OpenParen, // (
|
||||
Token::Identifier, // int
|
||||
Token::Colon, // :
|
||||
Token::Identifier, // num
|
||||
Token::CloseParen, // )
|
||||
Token::OpenBrace, // {
|
||||
@@ -246,6 +260,7 @@ namespace PashaBibko::LXC::Lexer
|
||||
|
||||
Token::OpenBrace, // {
|
||||
Token::Identifier, // int
|
||||
Token::Colon, // :
|
||||
Token::Identifier, // res
|
||||
Token::Assign, // =
|
||||
Token::Identifier, // fib
|
||||
|
||||
Reference in New Issue
Block a user