From d39ac0fb3e6c8cea0c1f0307283f6fbcde6a5010 Mon Sep 17 00:00:00 2001 From: IRBorisov <8611739+IRBorisov@users.noreply.github.com> Date: Fri, 10 May 2024 01:39:29 +0300 Subject: [PATCH] Add tests for EmptySet interpretation --- ccl/rslang/test/src/testASTInterpreter.cpp | 5 +++++ ccl/rslang/test/src/testValueAuditor.cpp | 1 + 2 files changed, 6 insertions(+) diff --git a/ccl/rslang/test/src/testASTInterpreter.cpp b/ccl/rslang/test/src/testASTInterpreter.cpp index b6a437e..5e53149 100644 --- a/ccl/rslang/test/src/testASTInterpreter.cpp +++ b/ccl/rslang/test/src/testASTInterpreter.cpp @@ -229,13 +229,16 @@ TEST_F(UTASTInterpreter, TypedPredicates) { } TEST_F(UTASTInterpreter, TypedBasics) { + ExpectValue(R"({})", Factory::EmptySet()); ExpectValue(R"(X1)", data.at("X1")); ExpectValue(R"(X1 \union X1)", data.at("X1")); + ExpectValue(R"(X1 \union {})", data.at("X1")); ExpectValue(R"(X1 \union S1)", data.at("X1")); ExpectValue(R"(S1 \union X1)", data.at("X1")); ExpectValue(R"(X1 \intersect X1)", data.at("X1")); + ExpectValue(R"(X1 \intersect {})", Factory::EmptySet()); ExpectValue(R"(X1 \intersect S1)", data.at("S1")); ExpectValue(R"(S1 \intersect X1)", data.at("S1")); @@ -247,6 +250,7 @@ TEST_F(UTASTInterpreter, TypedBasics) { ExpectValue(R"(X1 \symmdiff S1)", Factory::Singleton(Factory::Val(2))); ExpectValue(R"(S1 \symmdiff X1)", Factory::Singleton(Factory::Val(2))); + ExpectValue(R"(X1*{})", Factory::EmptySet()); ExpectValue(R"(X1*X2)", Factory::Decartian({ data.at("X1"), data.at("X2") })); ExpectValue(R"(X1*X2*X1)", Factory::Decartian({ data.at("X1"), data.at("X2"), data.at("X1") })); ExpectValue(R"(X1*(X2 \setminus X2))", Factory::EmptySet()); @@ -295,6 +299,7 @@ TEST_F(UTASTInterpreter, TypedExpressions) { ExpectValue(R"(I{a | a \from X1})", data.at("X1")); ExpectValue(R"(R{a \assign X1 | a \setminus a})", Factory::EmptySet()); + ExpectValue(R"(R{a \assign {} | a \union X1})", data.at("X1")); ExpectValue(R"(R{a \assign X1 \setminus X1 | a \union X1})", data.at("X1")); } diff --git a/ccl/rslang/test/src/testValueAuditor.cpp b/ccl/rslang/test/src/testValueAuditor.cpp index 0b66e81..fd3a7b7 100644 --- a/ccl/rslang/test/src/testValueAuditor.cpp +++ b/ccl/rslang/test/src/testValueAuditor.cpp @@ -115,6 +115,7 @@ TEST_F(UTValueAuditor, LogicErrors) { } TEST_F(UTValueAuditor, TypedCorrect) { + ExpectClass(R"({})", ValueClass::value); ExpectClass(R"(X1)", ValueClass::value); ExpectClass(R"(D2)", ValueClass::props);