-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexpression_tests.cpp
52 lines (35 loc) · 1.05 KB
/
expression_tests.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "catch.hpp"
#include "expression.hpp"
TEST_CASE( "Test default expression", "[expression]" ) {
Expression exp;
REQUIRE(!exp.isHeadNumber());
REQUIRE(!exp.isHeadSymbol());
REQUIRE(!exp.head().isComplexNumber());
}
TEST_CASE( "Test double expression", "[expression]" ) {
Expression exp(6.023);
REQUIRE(exp.isHeadNumber());
REQUIRE(!exp.isHeadSymbol());
REQUIRE(!exp.head().isComplexNumber());
}
TEST_CASE( "Test symbol expression", "[expression]" ) {
Expression exp(Atom("asymbol"));
REQUIRE(!exp.isHeadNumber());
REQUIRE(exp.isHeadSymbol());
REQUIRE(!exp.head().isComplexNumber());
}
TEST_CASE("Test complex number expression", "[expression]")
{
std::complex<double> z;
Expression exp(z);
REQUIRE(!exp.isHeadNumber());
REQUIRE(!exp.isHeadSymbol());
REQUIRE(exp.head().isComplexNumber());
}
/*TEST_CASE("Test value properties", "[expression]")
{
Expression
REQUIRE(!exp.isHeadNumber());
REQUIRE(!exp.isHeadSymbol());
REQUIRE(exp.head().isComplexNumber());
}*/