Skip to content

Commit 7a2f16f

Browse files
committed
Add tests
1 parent 6529585 commit 7a2f16f

1 file changed

Lines changed: 15 additions & 6 deletions

File tree

test/preprocess.cpp

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ TEST_CASE("for", "[preprocess]")
103103
STATIC_CHECK(foo4 == 4);
104104
}
105105

106-
#define IRIS_TEST_SEQ_EXEC(elem, data) constexpr int IRIS_PP_CAT(data, elem) = elem;
106+
#define IRIS_TEST_SEQ_EXEC(elem, data) constexpr std::string_view IRIS_PP_CAT(data, elem) = IRIS_PP_STRINGIZE(elem);
107+
#define IRIS_TEST_SEQ_EXEC2(index, elem, data) constexpr int IRIS_PP_CAT(data, elem) = index;
107108

108109
TEST_CASE("seq", "[preprocess]")
109110
{
@@ -119,16 +120,24 @@ TEST_CASE("seq", "[preprocess]")
119120
STATIC_CHECK(IRIS_PP_STRINGIZE(IRIS_PP_SEQ_HEAD((a)(b)(c))) == "a"sv);
120121
STATIC_CHECK(IRIS_PP_STRINGIZE(IRIS_PP_SEQ_TAIL((a)(b)(c))) == "(b)(c)"sv);
121122

122-
IRIS_PP_SEQ_FOR_EACH((0)(1)(2), IRIS_TEST_SEQ_EXEC, foo)
123+
IRIS_PP_SEQ_FOR_EACH((a)(b)(c), IRIS_TEST_SEQ_EXEC, foo)
123124

124-
STATIC_CHECK(foo0 == 0);
125-
STATIC_CHECK(foo1 == 1);
126-
STATIC_CHECK(foo2 == 2);
125+
STATIC_CHECK(fooa == "a");
126+
STATIC_CHECK(foob == "b");
127+
STATIC_CHECK(fooc == "c");
128+
129+
IRIS_PP_SEQ_FOR_EACH_WITH_INDEX((a)(b)(c), IRIS_TEST_SEQ_EXEC2, bar)
130+
131+
STATIC_CHECK(bara == 0);
132+
STATIC_CHECK(barb == 1);
133+
STATIC_CHECK(barc == 2);
127134
}
128135

136+
#define IRIS_TEST_WHILE_NEQ_5(expr) IRIS_PP_NOT_EQUAL(expr, 5)
137+
129138
TEST_CASE("while", "[preprocess]")
130139
{
131-
// TODO
140+
STATIC_CHECK(IRIS_PP_WHILE(0, IRIS_TEST_WHILE_NEQ_5, IRIS_PP_INCREMENT) == 5);
132141
}
133142

134143
TEST_CASE("add", "[preprocess]")

0 commit comments

Comments
 (0)