Website Summary Files Commits Branches @commit @diff @stats
path: root / JSImpl / test / ParserTests.cpp
diff options
context:
space:
mode:
Commit64a545c0c9988755a1b022bffd5f4303d0070af2 (patch)
Author
 Dimitar Trendafilov <dimitar@coherent-labs.com>
2020-11-09 22:09:38 +0200
Committer
 Dimitar Trendafilov <dimitar@coherent-labs.com>
2020-11-09 22:09:38 +0200
Files99816280741e7e6d6a8460ed216484b84fd4aefc /JSImpl/test/ParserTests.cpp
IPL-64a545c0c9988755a1b022bffd5f4303d0070af2.tar
IPL-64a545c0c9988755a1b022bffd5f4303d0070af2.tar.gz
IPL-64a545c0c9988755a1b022bffd5f4303d0070af2.zip
Parent1d2838877d4b905c68578e5bd4c01ab2857099ee (diff)
Parentf4598a0e6deb5fb1a63b4fc125804aa85ca818bd (diff)
Merge branch 'feature/interpreter_string'
1 files changed, 26 insertions, 26 deletions
-rw-r--r--JSImpl/test/ParserTests.cpp52
diff --git a/JSImpl/test/ParserTests.cpp b/JSImpl/test/ParserTests.cpp
index d63ae60..f47b4b3 100644
--- a/JSImpl/test/ParserTests.cpp
+++ b/JSImpl/test/ParserTests.cpp
@@ -27,7 +27,7 @@ TEST(Parser, VariableDeclaration)
ASTInterpreter i;
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("s"));
- ASSERT_TRUE(i.ModifyVariable("s") == 0.0);
+ ASSERT_TRUE(std::get<double>(*i.ModifyVariable("s")) == 0.0);
}
TEST(Parser, Assignment)
@@ -38,7 +38,7 @@ TEST(Parser, Assignment)
ASTInterpreter i;
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("s"));
- ASSERT_TRUE(i.ModifyVariable("s") == 100);
+ ASSERT_TRUE(std::get<double>(*i.ModifyVariable("s")) == 100);
}
TEST(Parser, VariableDeclarationAdditionOfLiterals)
@@ -49,7 +49,7 @@ TEST(Parser, VariableDeclarationAdditionOfLiterals)
ASTInterpreter i;
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("s"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("s"), 11.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("s")), 11.0);
}
TEST(Parser, VariableDeclarationAdditionOfVariables)
@@ -62,9 +62,9 @@ TEST(Parser, VariableDeclarationAdditionOfVariables)
ASSERT_TRUE(i.HasVariable("a"));
ASSERT_TRUE(i.HasVariable("b"));
ASSERT_TRUE(i.HasVariable("c"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("a"), 5.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("b"), 4.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("c"), 9.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("a")), 5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("b")), 4.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("c")), 9.0);
}
TEST(Parser, VariableDeclarationMultiplicationOfLiterals)
@@ -75,7 +75,7 @@ TEST(Parser, VariableDeclarationMultiplicationOfLiterals)
ASTInterpreter i;
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("s"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("s"), 30.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("s")), 30.0);
}
TEST(Parser, VariableDeclarationMultiplicationOfVariables)
@@ -88,9 +88,9 @@ TEST(Parser, VariableDeclarationMultiplicationOfVariables)
ASSERT_TRUE(i.HasVariable("a"));
ASSERT_TRUE(i.HasVariable("b"));
ASSERT_TRUE(i.HasVariable("c"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("a"), 5.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("b"), 4.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("c"), 20.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("a")), 5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("b")), 4.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("c")), 20.0);
}
@@ -103,10 +103,10 @@ TEST(Parser, Unary)
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("a"));
ASSERT_TRUE(i.HasVariable("b"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("a"), 6.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("b"), 5.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("minusB"), -5.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("plusB"), +5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("a")), 6.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("b")), 5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("minusB")), -5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("plusB")), +5.0);
}
@@ -120,8 +120,8 @@ TEST(Parser, If)
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("a"));
ASSERT_TRUE(i.HasVariable("b"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("a"), 6.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("b"), 5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("a")), 6.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("b")), 5.0);
}
{
IPLVector<Token> tokens = Tokenize("var a = 5; var b = 3; if(a == 5)a++; b++; b++;").tokens;
@@ -131,8 +131,8 @@ TEST(Parser, If)
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("a"));
ASSERT_TRUE(i.HasVariable("b"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("a"), 6.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("b"), 5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("a")), 6.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("b")), 5.0);
}
{
@@ -143,8 +143,8 @@ TEST(Parser, If)
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("a"));
ASSERT_TRUE(i.HasVariable("b"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("a"), 5.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("b"), 5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("a")), 5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("b")), 5.0);
}
{
@@ -155,8 +155,8 @@ TEST(Parser, If)
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("a"));
ASSERT_TRUE(i.HasVariable("b"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("a"), 5.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("b"), 5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("a")), 5.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("b")), 5.0);
}
{
@@ -167,8 +167,8 @@ TEST(Parser, If)
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("a"));
ASSERT_TRUE(i.HasVariable("b"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("a"), 6.0);
- ASSERT_DOUBLE_EQ(i.ModifyVariable("b"), 4.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("a")), 6.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("b")), 4.0);
}
}
@@ -181,7 +181,7 @@ TEST(Parser, For)
ASTInterpreter i;
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("i"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("i"), 45.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("i")), 45.0);
}
{
IPLVector<Token> tokens = Tokenize("var i = 0; for (var j = 0; j < 10; j++) i = i + j;").tokens;
@@ -189,7 +189,7 @@ TEST(Parser, For)
ASTInterpreter i;
i.Run(expr.get());
ASSERT_TRUE(i.HasVariable("i"));
- ASSERT_DOUBLE_EQ(i.ModifyVariable("i"), 45.0);
+ ASSERT_DOUBLE_EQ(std::get<double>(*i.ModifyVariable("i")), 45.0);
}
}