LCOV - code coverage report
Current view: top level - test/parsingAnalysis - test_ast_statements.cc (source / functions) Coverage Total Hit
Test: coverage.info Lines: 100.0 % 25 25
Test Date: 2025-04-18 15:53:49 Functions: 100.0 % 2 2

            Line data    Source code
       1              : #include "../../inc/parsingAnalysis/builder.h"
       2              : #include <catch2/catch_test_macros.hpp>
       3              : #include <memory>
       4              : #include <vector>
       5              : 
       6              : using namespace nicole;
       7              : 
       8            9 : TEST_CASE("AST_BODY class methods", "[AST_BODY]") {
       9            9 :   Location loc{"file", 0, 0};
      10            9 :   Token token{TokenType::OPERATOR_ADD, "+", loc};
      11            9 :   auto astBool1 = *Builder::createStatement(
      12            9 :       SourceLocation{token, token},
      13            9 :       *Builder::createBool(SourceLocation{token, token}, true));
      14            9 :   auto astBool2 = *Builder::createStatement(
      15            9 :       SourceLocation{token, token},
      16            9 :       *Builder::createBool(SourceLocation{token, token}, false));
      17            9 :   std::vector<std::shared_ptr<AST_STATEMENT>> body{astBool1, astBool2};
      18              : 
      19            9 :   AST_BODY astBody{0, SourceLocation{token, token}, body};
      20              : 
      21            9 :   REQUIRE(astBody.body().size() == 2);
      22            9 :   REQUIRE(astBody.body()[0] == astBool1);
      23            9 :   REQUIRE(astBody.body()[1] == astBool2);
      24            9 : }
      25              : 
      26            9 : TEST_CASE("AST_STATEMENT class methods", "[AST_STATEMENT]") {
      27            9 :   Location loc{"file", 0, 0};
      28            9 :   Token token{TokenType::OPERATOR_ADD, "+", loc};
      29            9 :   auto astBool = *Builder::createBool(SourceLocation{token, token}, true);
      30              : 
      31            9 :   AST_STATEMENT astStatement{0, SourceLocation{token, token}, astBool};
      32              : 
      33            9 :   REQUIRE(astStatement.expression() == astBool);
      34            9 :   REQUIRE(
      35            9 :       std::dynamic_pointer_cast<AST_BOOL>(astStatement.expression())->value() ==
      36            9 :       true);
      37            9 : }
        

Generated by: LCOV version 2.0-1