Skip to content

Commit 705aeb7

Browse files
committed
add tests for Token's HasLowerPrecedenceThan
1 parent f8dce2c commit 705aeb7

File tree

4 files changed

+32
-6
lines changed

4 files changed

+32
-6
lines changed

cucumber_cpp/library/tag_expression/Token.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@ namespace cucumber_cpp::library::tag_expression
77
return type == TokenType::operator_;
88
}
99

10-
bool Token::IsBinary() const
11-
{
12-
return *this == OR || *this == AND;
13-
}
14-
1510
bool Token::IsUnary() const
1611
{
1712
return *this == NOT;

cucumber_cpp/library/tag_expression/Token.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ namespace cucumber_cpp::library::tag_expression
4242
{}
4343

4444
bool IsOperation() const;
45-
bool IsBinary() const;
4645
bool IsUnary() const;
4746

4847
bool HasLowerPrecedenceThan(const Token& other) const;

cucumber_cpp/library/tag_expression/test/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ target_sources(cucumber_cpp.library.tag_expression.test PRIVATE
1212
TestErrors.cpp
1313
TestEvaluations.cpp
1414
TestParsing.cpp
15+
TestToken.cpp
1516
)
1617

1718
add_custom_command(
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
#include "cucumber_cpp/library/tag_expression/Token.hpp"
3+
#include "gmock/gmock.h"
4+
#include <gmock/gmock.h>
5+
#include <gtest/gtest.h>
6+
7+
namespace cucumber_cpp::library::tag_expression
8+
{
9+
TEST(TestToken, TestPrecedence)
10+
{
11+
EXPECT_THAT(OR.HasLowerPrecedenceThan(OR), testing::IsTrue());
12+
EXPECT_THAT(OR.HasLowerPrecedenceThan(AND), testing::IsTrue());
13+
EXPECT_THAT(OR.HasLowerPrecedenceThan(NOT), testing::IsTrue());
14+
EXPECT_THAT(AND.HasLowerPrecedenceThan(AND), testing::IsTrue());
15+
EXPECT_THAT(AND.HasLowerPrecedenceThan(OR), testing::IsFalse());
16+
EXPECT_THAT(AND.HasLowerPrecedenceThan(NOT), testing::IsTrue());
17+
EXPECT_THAT(NOT.HasLowerPrecedenceThan(NOT), testing::IsFalse());
18+
EXPECT_THAT(NOT.HasLowerPrecedenceThan(OR), testing::IsFalse());
19+
EXPECT_THAT(NOT.HasLowerPrecedenceThan(AND), testing::IsFalse());
20+
}
21+
22+
TEST(TestToken, TestPrecedenceWithParenthesis)
23+
{
24+
EXPECT_THAT(OR.HasLowerPrecedenceThan(OPEN_PARENTHESIS), testing::IsFalse());
25+
EXPECT_THAT(OR.HasLowerPrecedenceThan(CLOSE_PARENTHESIS), testing::IsFalse());
26+
EXPECT_THAT(AND.HasLowerPrecedenceThan(OPEN_PARENTHESIS), testing::IsFalse());
27+
EXPECT_THAT(AND.HasLowerPrecedenceThan(CLOSE_PARENTHESIS), testing::IsFalse());
28+
EXPECT_THAT(NOT.HasLowerPrecedenceThan(OPEN_PARENTHESIS), testing::IsFalse());
29+
EXPECT_THAT(NOT.HasLowerPrecedenceThan(CLOSE_PARENTHESIS), testing::IsFalse());
30+
}
31+
}

0 commit comments

Comments
 (0)