Skip to content

Commit

Permalink
test - DROP THIS COMMIT!
Browse files Browse the repository at this point in the history
  • Loading branch information
fintarin committed Jul 11, 2023
1 parent 6553fde commit 0e9340b
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions tests/src/expressions/ExpressionTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -262,9 +262,8 @@ TEST(ExpressionTests, stringConstructorTest) {
EXPECT_EQ(Expression("1*(a+b)^3").toString(), "a^3 + 3 a^2 b + 3 a b^2 + b^3");
EXPECT_EQ(Expression("(a+b)^4").toString(), "a^4 + 4 a^3 b + 6 a^2 b^2 + 4 a b^3 + b^4");
EXPECT_EQ(Expression("(a+3)/(b+2)").toString(), "(a + 3)/(b + 2)");
EXPECT_EQ(Expression("b/a*(a+3)/(b+2)").toString(), "1 + (3 b)/(a b + 2 a) - 2/(b + 2)");
EXPECT_EQ(Expression("(5+b)/a*(a+3)/(b+2)").toString(),
"1 - 30/(a b^2 + 2 a b) - 6/(a b + 2 a) + 15/(a b) + 3/a + 3/(b + 2)");
EXPECT_EQ(Expression("b/a*(a+3)/(b+2)").toString(), "1 + (-2 a + 3 b)/(a b + 2 a)");
EXPECT_EQ(Expression("(5+b)/a*(a+3)/(b+2)").toString(), "1 + (3 a + 3 b + 15)/(a b + 2 a)");
EXPECT_EQ(Expression("(a+b)*(a+b)/(a+b)").toString(), "a + b");
EXPECT_EQ(Expression("(a+b)*(a+b)*(1/(a+b))").toString(), "a + b");
EXPECT_EQ(Expression("(x^2+2x+1)/(x+1)").toString(), "x + 1");
Expand Down Expand Up @@ -314,15 +313,17 @@ TEST(ExpressionTests, stringConstructorTest) {
EXPECT_EQ(Expression("(3x^6 + 5x^5 - 2x^4 + 4x^3 + x^2 + 3x - 5) / (x^4 + 3x^2 - 2)").toString(),
"3 x^2 + 5 x - 11 + (-11 x^3 + 40 x^2 + 13 x - 27)/(x^4 + 3 x^2 - 2)");
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)");
"3 x^5 + (3 x^4)/2 - (29 x^3)/4 - (35 x^2)/8 + (223 x)/16 + 317/32 + (-(1289 x^2)/32 - (505 x)/32 + "
"573/32)/(2 x^3 - x^2 + 3 x - 1)");
EXPECT_EQ(Expression("(2 a^3 + 5 a^2 b + 4 a b^2 + b^3)/(25 a^2 + 40 a b + 15 b^2)").toString(),
"2/25 a + 9/125 b + (-2 a b^2 - 2 b^3)/(625 a^2 + 1000 a b + 375 b^2)");
"(2 a)/25 + (9 b)/125 + (-(2 a b^2)/25 - (2 b^3)/25)/(25 a^2 + 40 a b + 15 b^2)");
EXPECT_EQ(Expression("(25 a^2 + 40 a b + 15 b^2)/(2 a^3 + 5 a^2 b + 4 a b^2 + b^3)").toString(),
"(2 x + 3 y)/(a + b) + 5/(2 a + b)");
EXPECT_EQ(Expression("(x^2 + 2x + 1)/(x^3 + 3x^2 + 3x + 1)").toString(), "1/(x + 1)");
EXPECT_EQ(Expression("5/(a+b) + 5/(2a+b) + 5/(a+b)").toString(), "5/(2 a + b) + 10/(a + b)");
EXPECT_EQ(Expression("(x+y)/(a+b) + 5/(2a+b) + (x+2y)/(a+b)").toString(), "(2 x + 3 y)/(a + b) + 5/(2 a + b)");
"(25 a^2 + 40 a b + 15 b^2)/(2 a^3 + 5 a^2 b + 4 a b^2 + b^3)");
EXPECT_EQ(Expression("(x^2 + 2x + 1)/(x^3 + 3x^2 + 3x + 1)").toString(), "(x^2 + 2 x + 1)/(x^3 + 3 x^2 + 3 x + 1)");
EXPECT_EQ(Expression("5/(a+b) + 5/(2a+b) + 5/(a+b)").toString(),
"(25 a^2 + 40 a b + 15 b^2)/(2 a^3 + 5 a^2 b + 4 a b^2 + b^3)");
EXPECT_EQ(Expression("(x+y)/(a+b) + 5/(2a+b) + (x+2y)/(a+b)").toString(),
"(4 a x + 6 a y + 5 a + 2 b x + 3 b y + 5 b)/(2 a^2 + 3 a b + b^2)");
EXPECT_EQ(Expression("(a/b)(c/d)").toString(), "(a c)/(b d)");
EXPECT_EQ(Expression("(ab/2)(ad/3)").toString(), "(a^2 b d)/6");
EXPECT_EQ(Expression("(-a)(-b)").toString(), "a b");
Expand All @@ -339,12 +340,12 @@ TEST(ExpressionTests, stringConstructorTest) {
EXPECT_EQ(Expression("(3 x + 5/9)/(2y - 9/x + 3/2 x + 1/2 + 2 y / x)").toString(),
"2 + (-72 x y - 8 x - 72 y + 324)/(27 x^2 + 36 x y + 9 x + 36 y - 162)");
EXPECT_EQ(Expression("(a/x + b/(y+3/r)/4)/(3+t/5)").toString(),
"(5 a)/(t x + 15 x) + (25 b r)/(20 r t y + 300 r y + 60 t + 900)");
"(20 a r y + 60 a + 5 b r x)/(4 r t x y + 60 r x y + 12 t x + 180 x)");
EXPECT_EQ(Expression("(x/a - (b+5)/(y-8/(12 y))/4)/(8-a/5)").toString(),
"-(300 b y + 1500 y)/(-240 a y^2 + 160 a + 9600 y^2 - 6400) + (5 x)/(-a^2 + 40 a)");
"(-a b - 5 a + 4 x y + (-32 x)/(12 y))/(-(4 a^2 y)/5 + 32 a y + (32 a^2)/(60 y) + (-256 a)/(12 y))");
EXPECT_EQ(Expression("(a + b + c^2) / ((a + b + c^3) / (5/2 * (a + b) / (3/b + c/2)))").toString(),
"5 c + (5 a^2 b + 10 a b^2 - 30 a c + 5 b^3 + 180)/(a b c + 6 a + b^2 c + b c^4 + 6 b + 6 c^3) + (-5 c^4 - "
"30)/(a + b + c^3)");
"5 c + (5 a^2 b + 10 a b^2 - 30 a c + 5 b^3 - 5 b c^5 - 30 b c - 30 c^4)/(a b c + 6 a + b^2 c + b c^4 + 6 "
"b + 6 c^3)");
EXPECT_EQ(Expression("((2xy)/(x^2 - y^2) + (x - y)/(2x + 2y)) * (2x)/(x + y) + y/(y - x)").toString(), "1");
EXPECT_EQ(Expression("y/(x - y) - (x ^3 - xy ^2)/(x ^2 + y ^2) * (x/((x - y) ^2) - y/(x ^2 - y ^2))").toString(),
"-1");
Expand Down Expand Up @@ -397,7 +398,7 @@ TEST(ExpressionTests, stringConstructorTest) {
EXPECT_EQ(Expression("cos(a) log(b, c)").toString(), "log(b, c) cos(a)");
EXPECT_EQ(Expression("cos(b^2) log(b, c)").toString(), "log(b, c) cos(b^2)");
EXPECT_EQ(Expression("(x + y^3)^2 * sin(x)/ln(2)/x^2 - (2 sin(x) y^3)/(x ln(2))").toString(),
"sin(x)/ln(2) + (y^6 sin(x))/(x^2 ln(2))");
"(x^2 sin(x) + y^6 sin(x))/(x^2 ln(2))");

EXPECT_EQ(Expression("a=a").toString(), "True");
EXPECT_EQ(Expression("a+a=2*a").toString(), "True");
Expand Down

0 comments on commit 0e9340b

Please sign in to comment.