#include #include "../lib/Lexer.hpp" #include "../lib/Parser.hpp" #include "../lib/StaticPass.hpp" class StaticPassTest { public: explicit StaticPassTest() {} virtual ~StaticPassTest() {} void test_ok(std::string const& source) { roza::SrcLoc loc {"compiler_tests"}; roza::StatusLog log; roza::Lexer lexer {log, loc}; roza::Parser parser {lexer, log}; roza::StaticPass static_pass {log}; lexer.scan(source); auto node = parser.parse(); static_pass.check(node); } void test_ko(std::string const& source) { REQUIRE_THROWS(test_ok(source)); } protected: }; TEST_CASE_METHOD(StaticPassTest, "StaticPass_integer") { test_ok(" 43 "); }