@@ -34,7 +34,7 @@ ADD_TEST(ParseUnary) {
34
34
}
35
35
36
36
ADD_TEST (ParseBinary) {
37
- auto result = parse (" 3+ 2" );
37
+ auto result = parse (" 3 - 2" );
38
38
ASSERT (result != nullptr );
39
39
ASSERT (std::holds_alternative<expr::Binary>(*result));
40
40
auto const & binary = std::get<expr::Binary>(*result);
@@ -45,7 +45,7 @@ ADD_TEST(ParseBinary) {
45
45
EXPECT (literal.token .type == Token::Type::eNumber);
46
46
EXPECT (literal.token .value == 3.0 ); // NOLINT
47
47
48
- EXPECT (binary.op .type == Token::Type::ePlus );
48
+ EXPECT (binary.op .type == Token::Type::eMinus );
49
49
50
50
ASSERT (binary.right != nullptr );
51
51
ASSERT (std::holds_alternative<expr::Literal>(*binary.right ));
@@ -77,8 +77,12 @@ ADD_TEST(ParseCall) {
77
77
ASSERT (std::holds_alternative<expr::Literal>(*pow_call.arguments [0 ]));
78
78
EXPECT (std::get<expr::Literal>(*pow_call.arguments [0 ]).token .value == 42 ); // NOLINT
79
79
ASSERT (pow_call.arguments [1 ] != nullptr );
80
- ASSERT (std::holds_alternative<expr::Literal>(*pow_call.arguments [1 ]));
81
- EXPECT (std::get<expr::Literal>(*pow_call.arguments [1 ]).token .value == -5 ); // NOLINT
80
+ ASSERT (std::holds_alternative<expr::Unary>(*pow_call.arguments [1 ]));
81
+ auto const & minus_5 = std::get<expr::Unary>(*pow_call.arguments [1 ]);
82
+ EXPECT (minus_5.op .type == Token::Type::eMinus);
83
+ ASSERT (minus_5.right != nullptr );
84
+ ASSERT (std::holds_alternative<expr::Literal>(*minus_5.right ));
85
+ EXPECT (std::get<expr::Literal>(*minus_5.right ).token .value == 5 ); // NOLINT
82
86
}
83
87
84
88
ADD_TEST (ParseErrorOnExtraneous) {
0 commit comments