From b3cdac0ea260098855a60dca454529b11912d262 Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Sat, 23 Nov 2013 07:45:00 +0000 Subject: [PATCH] Updated tests. [SVN r86789] --- test/arithmetic.cxx | 20 ++++++++++++++++++++ test/facilities.cxx | 26 ++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/test/arithmetic.cxx b/test/arithmetic.cxx index 4512314..5d48928 100644 --- a/test/arithmetic.cxx +++ b/test/arithmetic.cxx @@ -60,3 +60,23 @@ BEGIN BOOST_PP_MOD(7, 4) == 3 END BEGIN BOOST_PP_MOD(BOOST_PP_MOD(5, 3), 3) == 2 END BEGIN BOOST_PP_MOD(5, BOOST_PP_MOD(4, 3)) == 0 END + +/* increment */ + +BEGIN BOOST_PP_INC(0) == 1 END +BEGIN BOOST_PP_INC(22) == 23 END +BEGIN BOOST_PP_INC(256) == 256 END + +BEGIN BOOST_PP_INC(BOOST_PP_INC(0)) == 2 END +BEGIN BOOST_PP_INC(BOOST_PP_INC(17)) == 19 END +BEGIN BOOST_PP_INC(BOOST_PP_INC(255)) == 256 END + +/* decrement */ + +BEGIN BOOST_PP_DEC(256) == 255 END +BEGIN BOOST_PP_DEC(47) == 46 END +BEGIN BOOST_PP_DEC(0) == 0 END + +BEGIN BOOST_PP_DEC(BOOST_PP_DEC(256)) == 254 END +BEGIN BOOST_PP_DEC(BOOST_PP_DEC(85)) == 83 END +BEGIN BOOST_PP_DEC(BOOST_PP_DEC(1)) == 0 END diff --git a/test/facilities.cxx b/test/facilities.cxx index 31f7c77..d824ce7 100644 --- a/test/facilities.cxx +++ b/test/facilities.cxx @@ -11,6 +11,8 @@ # # include # include +# include +# include # include BEGIN BOOST_PP_APPLY(BOOST_PP_NIL) 0 == 0 END @@ -26,3 +28,27 @@ BEGIN BOOST_PP_EXPAND(MACRO ARGS) == 1 END BEGIN BOOST_PP_IDENTITY(1)() == 1 END BEGIN BOOST_PP_CAT(BOOST_PP_INTERCEPT, 2) 1 == 1 END + +#if BOOST_PP_VARIADICS + +#define OVMAC_1(x) BOOST_PP_ADD(x,5) +#define OVMAC_2(x,y) BOOST_PP_ADD(x,y) +#define OVMAC_3(x,y,z) BOOST_PP_ADD(BOOST_PP_MUL(x,y),z) +#define OVMAC_4(x,y,z,a) BOOST_PP_ADD(BOOST_PP_MUL(x,y),BOOST_PP_MUL(a,z)) + +#if defined(BOOST_PP_VARIADICS_MSVC) + +#define OVTEST(...) BOOST_PP_CAT(BOOST_PP_OVERLOAD(OVMAC_,__VA_ARGS__)(__VA_ARGS__),BOOST_PP_EMPTY()) + +#else + +#define OVTEST(...) BOOST_PP_OVERLOAD(OVMAC_,__VA_ARGS__)(__VA_ARGS__) + +#endif + +BEGIN OVTEST(3,4,5) == 17 END +BEGIN OVTEST(9,3,2,7) == 41 END +BEGIN OVTEST(8) == 13 END +BEGIN OVTEST(24,61) == 85 END + +#endif