Line data Source code
1 : #include "../../inc/parsingAnalysis/builder.h"
2 : #include <catch2/catch_test_macros.hpp>
3 :
4 : using namespace nicole;
5 :
6 9 : TEST_CASE("AST_VECTOR class methods", "[AST_VECTOR]") {
7 9 : Location loc{"file", 0, 0};
8 9 : Token token{TokenType::OPERATOR_ADD, "+", loc};
9 9 : auto astBool1 = *Builder::createBool(SourceLocation{token, token}, true);
10 9 : auto astBool2 = *Builder::createBool(SourceLocation{token, token}, false);
11 :
12 9 : std::vector<std::shared_ptr<AST>> values{astBool1, astBool2};
13 9 : AST_VECTOR astVector{0, SourceLocation{token, token}, values};
14 :
15 9 : REQUIRE(astVector.values().size() == 2);
16 9 : REQUIRE(std::dynamic_pointer_cast<AST_BOOL>(astVector.values()[0])->value() ==
17 9 : true);
18 9 : REQUIRE(std::dynamic_pointer_cast<AST_BOOL>(astVector.values()[1])->value() ==
19 9 : false);
20 9 : }
|