Removed replacement rescan from tests.

Made requirements for BOOST_PP_CAT and BOOST_PP_STRINGIZE stronger.


[SVN r12440]
This commit is contained in:
Vesa Karvonen
2002-01-22 13:38:55 +00:00
parent 0724dd58dc
commit cf2315ddea
6 changed files with 83 additions and 66 deletions

View File

@ -19,50 +19,50 @@
// ***
TEST(BOOST_PP_ADD(2,3) == 5)
TEST(BOOST_PP_ADD(11,BOOST_PP_SUB(BOOST_PP_LIMIT_MAG,10)) == BOOST_PP_LIMIT_MAG)
TEST_B BOOST_PP_ADD(2,3) == 5 TEST_E
TEST_B BOOST_PP_ADD(11,BOOST_PP_SUB(BOOST_PP_LIMIT_MAG,10)) == BOOST_PP_LIMIT_MAG TEST_E
TEST(BOOST_PP_SUB(11,0) == 11)
TEST(BOOST_PP_SUB(12,1) == 11)
TEST(BOOST_PP_SUB(3,4) == 0)
TEST_B BOOST_PP_SUB(11,0) == 11 TEST_E
TEST_B BOOST_PP_SUB(12,1) == 11 TEST_E
TEST_B BOOST_PP_SUB(3,4) == 0 TEST_E
TEST(BOOST_PP_MUL(0,1) == 0)
TEST(BOOST_PP_MUL(1,0) == 0)
TEST(BOOST_PP_MUL(1,1) == 1)
TEST(BOOST_PP_MUL(4,3) == 12)
TEST_B BOOST_PP_MUL(0,1) == 0 TEST_E
TEST_B BOOST_PP_MUL(1,0) == 0 TEST_E
TEST_B BOOST_PP_MUL(1,1) == 1 TEST_E
TEST_B BOOST_PP_MUL(4,3) == 12 TEST_E
TEST(BOOST_PP_DIV(2,1) == 2)
TEST(BOOST_PP_DIV(0,5) == 0)
TEST(BOOST_PP_DIV(7,3) == 2)
TEST_B BOOST_PP_DIV(2,1) == 2 TEST_E
TEST_B BOOST_PP_DIV(0,5) == 0 TEST_E
TEST_B BOOST_PP_DIV(7,3) == 2 TEST_E
TEST(BOOST_PP_EQUAL(1,0) == 0)
TEST(BOOST_PP_EQUAL(10,10) == 1)
TEST_B BOOST_PP_EQUAL(1,0) == 0 TEST_E
TEST_B BOOST_PP_EQUAL(10,10) == 1 TEST_E
TEST(BOOST_PP_NOT_EQUAL(3,4) == 1)
TEST(BOOST_PP_NOT_EQUAL(7,7) == 0)
TEST_B BOOST_PP_NOT_EQUAL(3,4) == 1 TEST_E
TEST_B BOOST_PP_NOT_EQUAL(7,7) == 0 TEST_E
TEST(BOOST_PP_LESS_EQUAL(6,7) == 1)
TEST(BOOST_PP_LESS_EQUAL(8,1) == 0)
TEST(BOOST_PP_LESS_EQUAL(5,5) == 1)
TEST_B BOOST_PP_LESS_EQUAL(6,7) == 1 TEST_E
TEST_B BOOST_PP_LESS_EQUAL(8,1) == 0 TEST_E
TEST_B BOOST_PP_LESS_EQUAL(5,5) == 1 TEST_E
TEST(BOOST_PP_GREATER_EQUAL(6,7) == 0)
TEST(BOOST_PP_GREATER_EQUAL(10,10) == 1)
TEST(BOOST_PP_GREATER_EQUAL(8,1) == 1)
TEST_B BOOST_PP_GREATER_EQUAL(6,7) == 0 TEST_E
TEST_B BOOST_PP_GREATER_EQUAL(10,10) == 1 TEST_E
TEST_B BOOST_PP_GREATER_EQUAL(8,1) == 1 TEST_E
TEST(BOOST_PP_LESS(2,1) == 0)
TEST(BOOST_PP_LESS(1,1) == 0)
TEST(BOOST_PP_LESS(1,2) == 1)
TEST_B BOOST_PP_LESS(2,1) == 0 TEST_E
TEST_B BOOST_PP_LESS(1,1) == 0 TEST_E
TEST_B BOOST_PP_LESS(1,2) == 1 TEST_E
TEST(BOOST_PP_GREATER(2,1) == 1)
TEST(BOOST_PP_GREATER(1,1) == 0)
TEST(BOOST_PP_GREATER(1,2) == 0)
TEST_B BOOST_PP_GREATER(2,1) == 1 TEST_E
TEST_B BOOST_PP_GREATER(1,1) == 0 TEST_E
TEST_B BOOST_PP_GREATER(1,2) == 0 TEST_E
TEST(BOOST_PP_MIN(1,0) == 0)
TEST(BOOST_PP_MIN(1,2) == 1)
TEST_B BOOST_PP_MIN(1,0) == 0 TEST_E
TEST_B BOOST_PP_MIN(1,2) == 1 TEST_E
TEST(BOOST_PP_MAX(3,2) == 3)
TEST(BOOST_PP_MAX(4,5) == 5)
TEST_B BOOST_PP_MAX(3,2) == 3 TEST_E
TEST_B BOOST_PP_MAX(4,5) == 5 TEST_E
TEST(BOOST_PP_MOD(5,5) == 0)
TEST(BOOST_PP_MOD(9,5) == 4)
TEST(BOOST_PP_MOD(7,4) == 3)
TEST_B BOOST_PP_MOD(5,5) == 0 TEST_E
TEST_B BOOST_PP_MOD(9,5) == 4 TEST_E
TEST_B BOOST_PP_MOD(7,4) == 3 TEST_E

View File

@ -24,4 +24,4 @@
#define F(D,X) BOOST_PP_DEC(X)
#define I(D,X) -X
TEST((FOR_TEST_MAX*(FOR_TEST_MAX+1)/2)+1 BOOST_PP_FOR(FOR_TEST_MAX,C,F,I))
TEST_B (FOR_TEST_MAX*(FOR_TEST_MAX+1)/2)+1 BOOST_PP_FOR(FOR_TEST_MAX,C,F,I) TEST_E

View File

@ -21,22 +21,22 @@
#define TEST_LIST BOOST_PP_TUPLE_TO_LIST(5,(4,1,5,9,2))
TEST(BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_SUB_D,22,TEST_LIST) == 1)
TEST(BOOST_PP_LIST_CAT(BOOST_PP_LIST_REVERSE(TEST_LIST)) == 29514)
TEST(BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_SUB_D,TEST_LIST,0) == 3)
TEST_B BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_SUB_D,22,TEST_LIST) == 1 TEST_E
TEST_B BOOST_PP_LIST_CAT(BOOST_PP_LIST_REVERSE(TEST_LIST)) == 29514 TEST_E
TEST_B BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_SUB_D,TEST_LIST,0) == 3 TEST_E
TEST(BOOST_PP_LIST_CAT(BOOST_PP_LIST_REST_N(2,TEST_LIST)) == 592)
TEST(BOOST_PP_LIST_CAT(BOOST_PP_LIST_FIRST_N(2,TEST_LIST)) == 41)
TEST_B BOOST_PP_LIST_CAT(BOOST_PP_LIST_REST_N(2,TEST_LIST)) == 592 TEST_E
TEST_B BOOST_PP_LIST_CAT(BOOST_PP_LIST_FIRST_N(2,TEST_LIST)) == 41 TEST_E
TEST(BOOST_PP_LIST_AT(TEST_LIST,2) == 5)
TEST_B BOOST_PP_LIST_AT(TEST_LIST,2) == 5 TEST_E
TEST(BOOST_PP_LIST_CAT(BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D,2,TEST_LIST)) == 637114)
TEST_B BOOST_PP_LIST_CAT(BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D,2,TEST_LIST)) == 637114 TEST_E
TEST(BOOST_PP_LIST_CAT(BOOST_PP_LIST_APPEND(BOOST_PP_LIST_REST(TEST_LIST),TEST_LIST)) == 159241592)
TEST_B BOOST_PP_LIST_CAT(BOOST_PP_LIST_APPEND(BOOST_PP_LIST_REST(TEST_LIST),TEST_LIST)) == 159241592 TEST_E
#define ENUM_LIST_F(I,P,X) +X+P
TEST(BOOST_PP_LIST_FOR_EACH(ENUM_LIST_F,1,TEST_LIST) == 26)
TEST_B BOOST_PP_LIST_FOR_EACH(ENUM_LIST_F,1,TEST_LIST) == 26 TEST_E
TEST(BOOST_PP_TUPLE_ELEM(5,4,BOOST_PP_LIST_TO_TUPLE(TEST_LIST)) == 2)
TEST_B BOOST_PP_TUPLE_ELEM(5,4,BOOST_PP_LIST_TO_TUPLE(TEST_LIST)) == 2 TEST_E
TEST(BOOST_PP_LIST_CAT(BOOST_PP_LIST_FILTER(BOOST_PP_LESS_D,3,TEST_LIST)) == 459)
TEST_B BOOST_PP_LIST_CAT(BOOST_PP_LIST_FILTER(BOOST_PP_LESS_D,3,TEST_LIST)) == 459 TEST_E

View File

@ -15,20 +15,25 @@
// ***
TEST(BOOST_PP_NOT(0) == 1)
TEST(BOOST_PP_NOT(1) == 0)
TEST_B BOOST_PP_NOT(MACRO MACRO_ARGS(0)) == 1 TEST_E
TEST_B BOOST_PP_NOT(1) == 0 TEST_E
TEST(BOOST_PP_AND(0,0) == 0)
TEST(BOOST_PP_AND(0,1) == 0)
TEST(BOOST_PP_AND(1,0) == 0)
TEST(BOOST_PP_AND(1,1) == 1)
TEST_B BOOST_PP_AND(0,MACRO MACRO_ARGS(0)) == 0 TEST_E
TEST_B BOOST_PP_AND(0,1) == 0 TEST_E
TEST_B BOOST_PP_AND(1,0) == 0 TEST_E
TEST_B BOOST_PP_AND(1,1) == 1 TEST_E
TEST(BOOST_PP_OR(0,0) == 0)
TEST(BOOST_PP_OR(0,1) == 1)
TEST(BOOST_PP_OR(1,0) == 1)
TEST(BOOST_PP_OR(1,1) == 1)
TEST_B BOOST_PP_OR(0,MACRO MACRO_ARGS(0)) == 0 TEST_E
TEST_B BOOST_PP_OR(0,1) == 1 TEST_E
TEST_B BOOST_PP_OR(1,0) == 1 TEST_E
TEST_B BOOST_PP_OR(1,1) == 1 TEST_E
TEST(BOOST_PP_XOR(0,0) == 0)
TEST(BOOST_PP_XOR(0,1) == 1)
TEST(BOOST_PP_XOR(1,0) == 1)
TEST(BOOST_PP_XOR(1,1) == 0)
TEST_B BOOST_PP_XOR(0,MACRO MACRO_ARGS(0)) == 0 TEST_E
TEST_B BOOST_PP_XOR(0,1) == 1 TEST_E
TEST_B BOOST_PP_XOR(1,0) == 1 TEST_E
TEST_B BOOST_PP_XOR(1,1) == 0 TEST_E
TEST_B BOOST_PP_NOR(0,MACRO MACRO_ARGS(0)) == 1 TEST_E
TEST_B BOOST_PP_NOR(0,1) == 0 TEST_E
TEST_B BOOST_PP_NOR(1,0) == 0 TEST_E
TEST_B BOOST_PP_NOR(1,1) == 0 TEST_E

View File

@ -33,13 +33,17 @@ struct Container
// ***
TEST(BOOST_PP_IF(BOOST_PP_IF(1,1,1),true,false) &&
BOOST_PP_IF(BOOST_PP_IF(0,0,0),false,true))
TEST_B BOOST_PP_IF(BOOST_PP_IF(1,1,1),true,false) &&
BOOST_PP_IF(BOOST_PP_IF(0,0,0),false,true) TEST_E
// ***
TEST(BOOST_PP_CAT(BOOST_PP_IF(1,tru,fals), e))
TEST_B BOOST_PP_CAT(BOOST_PP_IF(1,tru,fals), MACRO MACRO_ARGS(e)) TEST_E
// ***
char stringize_test[4] = BOOST_PP_STRINGIZE(__LINE__);
char stringize_test[2] = BOOST_PP_STRINGIZE(MACRO MACRO_ARGS(X));
// ***
TEST_B BOOST_PP_TUPLE_ELEM(2,0,(1,0)) TEST_E

View File

@ -14,5 +14,13 @@
#include <boost/preprocessor/cat.hpp>
#define TEST(C) typedef int BOOST_PP_CAT(test_,__LINE__)[((C)==1) ? 1 : -1];
// The TEST macro has been broken into two pieces to avoid
// double expansion:
// 1. as a macro argument
// 2. rescan
#define TEST_B typedef int BOOST_PP_CAT(test_,__LINE__)[((
#define TEST_E )==1) ? 1 : -1];
#define MACRO(X) X
#define MACRO_ARGS(X) (X)
#endif