initial commit

This commit is contained in:
2026-10-02 20:31:24 +03:00
commit 2999c295af
9 changed files with 641 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
#include "test-tools.hpp"
#include "parser.hpp"
#include "expression.hpp"
TEST(parser_proper_test_1)
{
auto o = Parser::tokenize_input((char *) "(1+2-c)");
std::vector<Expression::Token> r;
r.push_back(Expression::Token(Expression::Token::OPA));
r.push_back(Expression::Token(1));
r.push_back(Expression::Token(Expression::Token::ADD));
r.push_back(Expression::Token(2));
r.push_back(Expression::Token(Expression::Token::SUB));
r.push_back(Expression::Token("c"));
r.push_back(Expression::Token(Expression::Token::CPA));
CHECK(Parser::assert_same(*o, r));
return 0;
}
TEST(parser_proper_test_2)
{
auto o = Parser::tokenize_input((char *) "(1**5,-snake+marble*34*(35 / 63.2))");
std::vector<Expression::Token> r;
r.push_back(Expression::Token(Expression::Token::OPA));
r.push_back(Expression::Token(1));
r.push_back(Expression::Token(Expression::Token::POW));
r.push_back(Expression::Token(5));
r.push_back(Expression::Token(Expression::Token::SUB));
r.push_back(Expression::Token("snake"));
r.push_back(Expression::Token(Expression::Token::ADD));
r.push_back(Expression::Token("marble"));
r.push_back(Expression::Token(Expression::Token::MUL));
r.push_back(Expression::Token(34));
r.push_back(Expression::Token(Expression::Token::MUL));
r.push_back(Expression::Token(Expression::Token::OPA));
r.push_back(Expression::Token(35));
r.push_back(Expression::Token(Expression::Token::DIV));
r.push_back(Expression::Token(63.2));
r.push_back(Expression::Token(Expression::Token::CPA));
r.push_back(Expression::Token(Expression::Token::CPA));
CHECK(Parser::assert_same(*o, r));
return 0;
}
void register_tests(void)
{
REGISTER(parser_proper_test_1);
REGISTER(parser_proper_test_2);
}