Line data Source code
1 : #include "../../inc/parsingAnalysis/builder.h"
2 : #include <catch2/catch_test_macros.hpp>
3 : #include <memory>
4 :
5 : using namespace nicole;
6 :
7 9 : TEST_CASE("AST_ASSIGNMENT class methods", "[AST_ASSIGNMENT]") {
8 9 : const Token op{TokenType::SELF_ADD, "+=", Location{"archivo.cpp", 10, 5}};
9 9 : auto astBool = *Builder::createBool(SourceLocation{op, op}, true);
10 9 : auto left = *Builder::createBool(SourceLocation{op, op}, true);
11 9 : AST_ASSIGNMENT astSelfAdd{0, SourceLocation{op, op}, op, left, astBool};
12 :
13 9 : REQUIRE(astSelfAdd.op().raw() == "+=");
14 9 : REQUIRE(astSelfAdd.left() == left);
15 9 : REQUIRE(astSelfAdd.value() == astBool);
16 9 : REQUIRE(std::dynamic_pointer_cast<AST_BOOL>(astSelfAdd.value())->value() ==
17 9 : true);
18 9 : }
|