Loading tests/Phase03_LLVMParser.cpp +27 −0 Original line number Diff line number Diff line Loading @@ -404,3 +404,30 @@ TEST(Phase03_LLVMParser, boolExpressions) EXPECT_EQ(0, string_to_integer(compile_and_run("if not [false or true] then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if not [false or false] then return 1; fi; return 0;"))); } TEST(Phase03_LLVMParser, relationExpressions) { EXPECT_EQ(1, string_to_integer(compile_and_run("if 1 < 2 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 1 = 2 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 1 > 2 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2 < 2 then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if 2 = 2 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2 > 2 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2 < 1 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2 = 1 then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if 2 > 1 then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if 1.0 < 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 1.0 = 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 1.0 > 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2.0 < 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if 2.0 = 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2.0 > 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2.0 < 1.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2.0 = 1.0 then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if 2.0 > 1.0 then return 1; fi; return 0;"))); } Loading
tests/Phase03_LLVMParser.cpp +27 −0 Original line number Diff line number Diff line Loading @@ -404,3 +404,30 @@ TEST(Phase03_LLVMParser, boolExpressions) EXPECT_EQ(0, string_to_integer(compile_and_run("if not [false or true] then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if not [false or false] then return 1; fi; return 0;"))); } TEST(Phase03_LLVMParser, relationExpressions) { EXPECT_EQ(1, string_to_integer(compile_and_run("if 1 < 2 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 1 = 2 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 1 > 2 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2 < 2 then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if 2 = 2 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2 > 2 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2 < 1 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2 = 1 then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if 2 > 1 then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if 1.0 < 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 1.0 = 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 1.0 > 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2.0 < 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if 2.0 = 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2.0 > 2.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2.0 < 1.0 then return 1; fi; return 0;"))); EXPECT_EQ(0, string_to_integer(compile_and_run("if 2.0 = 1.0 then return 1; fi; return 0;"))); EXPECT_EQ(1, string_to_integer(compile_and_run("if 2.0 > 1.0 then return 1; fi; return 0;"))); }