Skip to content

Commit 85d5a32

Browse files
committed
✔️ Test(Math): Expression tree succeedded in calculating result.
1 parent 69e527f commit 85d5a32

2 files changed

Lines changed: 109 additions & 0 deletions

File tree

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
namespace Common.BasicHelper.Math;
2+
3+
[TestClass()]
4+
public class Calculator_Tests
5+
{
6+
[TestMethod()]
7+
public void Test_Calculate()
8+
{
9+
// 15 = 5 + 10
10+
Assert.AreEqual(
11+
15,
12+
Calculator.Calculate(
13+
Expression.FromValue(5),
14+
Expression.FromValue(10),
15+
CalculationType.Add
16+
)
17+
);
18+
19+
// 5 = 10 - 5
20+
Assert.AreEqual(
21+
5,
22+
Calculator.Calculate(
23+
Expression.FromValue(10),
24+
Expression.FromValue(5),
25+
CalculationType.Substraction
26+
)
27+
);
28+
29+
// 50 = 5 * 10
30+
Assert.AreEqual(
31+
50,
32+
Calculator.Calculate(
33+
Expression.FromValue(5),
34+
Expression.FromValue(10),
35+
CalculationType.Multiply
36+
)
37+
);
38+
39+
// 0.5 = 5 / 10
40+
Assert.AreEqual(
41+
0.5,
42+
Calculator.Calculate(
43+
Expression.FromValue(5),
44+
Expression.FromValue(10),
45+
CalculationType.Division
46+
)
47+
);
48+
49+
// 1024 = 2 ^ 10
50+
Assert.AreEqual(
51+
1024,
52+
Calculator.Calculate(
53+
Expression.FromValue(2),
54+
Expression.FromValue(10),
55+
CalculationType.Power
56+
)
57+
);
58+
}
59+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
namespace Common.BasicHelper.Math;
2+
3+
[TestClass()]
4+
public class Expression_Tests
5+
{
6+
[TestMethod()]
7+
public void Test_Expression()
8+
{
9+
var expr = (39 / 3) + (16 * 5) - ((24 * 24) + 5 + 7);
10+
11+
var tree = new Expression()
12+
{
13+
Type = CalculationType.Add,
14+
Left = new()
15+
{
16+
Type = CalculationType.Division,
17+
Left = Expression.FromValue(39),
18+
Right = Expression.FromValue(3)
19+
},
20+
Right = new()
21+
{
22+
Type = CalculationType.Substraction,
23+
Left = new()
24+
{
25+
Type = CalculationType.Multiply,
26+
Left = Expression.FromValue(16),
27+
Right = Expression.FromValue(5),
28+
},
29+
Right = new()
30+
{
31+
Type = CalculationType.Add,
32+
Left = new()
33+
{
34+
Type = CalculationType.Power,
35+
Left = Expression.FromValue(24),
36+
Right = Expression.FromValue(2)
37+
},
38+
Right = new()
39+
{
40+
Type = CalculationType.Add,
41+
Left = Expression.FromValue(5),
42+
Right = Expression.FromValue(7)
43+
}
44+
}
45+
}
46+
};
47+
48+
Assert.AreEqual(expr, tree.Result);
49+
}
50+
}

0 commit comments

Comments
 (0)