Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
fintarin committed Jul 7, 2023
1 parent 4a68cee commit 5922676
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions tests/src/expressions/ExpressionTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,17 @@ TEST(ExpressionTests, stringConstructorTest) {
EXPECT_EQ(Expression("(6x^8 - 7x^6 + 9x^4 - 4x^2 + 8) / (2x^3 - x^2 + 3x - 1)").toString(),
"3 x^5 + 3/2 x^4 - 29/4 x^3 - 35/8 x^2 + 223/16 x + 317/32 + (-1289 x^2 - 505 x + 573)/(64 x^3 - 32 x^2 + "
"96 x - 32)");
EXPECT_EQ(Expression("( (2xy)/(x^2 - y^2) + (x - y)/(2x + 2y) ) * (2x)/(x + y) + y/(y - x)").toString(), "1");

// TODO! implement this
// EXPECT_EQ(Expression("(x/y)^2").toString(), "(x^2)/(y^2)");
// EXPECT_EQ(Expression("sqrt(x^2)").toString(), "abs(x)");
// EXPECT_EQ(Expression("(x^10)^(1/10))").toString(), "abs(x)");
// EXPECT_EQ(Expression("(x^3)^(1/3)").toString(), "x");
// EXPECT_EQ(Expression("sqrt(x)^2").toString(), "x");
// EXPECT_EQ(Expression("sqrt(x) * sqrt(x)").toString(), "x");
// EXPECT_EQ(Expression("abs(x)^3").toString(), "abs(x^3)");
// EXPECT_EQ(Expression("abs(x^3)").toString(), "abs(x^3)");

EXPECT_EQ(Expression("(a+b+1-1)^1000/(a+b+1-1)^998").toString(), "a^2 + 2 a b + b^2");
EXPECT_EQ(Expression("(a+b)^1000/(a+b)^998").toString(), "a^2 + 2 a b + b^2");
Expand Down Expand Up @@ -589,9 +600,9 @@ TEST(ExpressionTests, stringConstructorTest) {
EXPECT_EQ(Expression("ln((10 E)^2) - 2 ln(10 E)").toString(), "0");
EXPECT_EQ(Expression("3 ln((10 E)^2) - 2 ln(10 E)").toString(), "ln(10000 E^4)");
EXPECT_EQ(Expression("ln((10 E)^(2ab)) - 2 a ln(10 E) b").toString(),
"ln(10^(2 a b) E^(2 a b) 10^(-2 a b) E^(-2 a b))"); // TODO: 0 - mul powers minimization
"ln(10^(2 a b) E^(2 a b) 10^(-2 a b) E^(-2 a b))"); // TODO! 0
EXPECT_EQ(Expression("ln((10 E)^(2 ln(2))) - 2 ln(2) ln(10 E)").toString(),
"ln(10^0 E^0)"); // TODO: 0 - mul powers minimization
"ln(10^0 E^0)"); // TODO! 0
EXPECT_EQ(Expression("log(2.3,(E)/(20000.1EE)) + log(2.3,20000.1E)").toString(), "0");
EXPECT_EQ(Expression("log(2, 3) + log(3, 4)").toString(), "log(3, 4) + log(2, 3)");
EXPECT_EQ(Expression("x log(2, 3) + log(2, 5)").toString(), "log(2, 5 3^x)");
Expand Down

0 comments on commit 5922676

Please sign in to comment.