1 #include <math.h> 2 #include <stdlib.h> 3 4 // this is mimicing gtest expressions 5 6 #define EXPECT_TRUE(args) { \ 7 if (!(args)) { fprintf(stderr, "test failed (EXPECT_TRUE) in %s, line %d\n", __FILE__, __LINE__); \ 8 exit(1); \ 9 } } 10 11 #define EXPECT_FALSE(args) { \ 12 if (args) { fprintf(stderr, "test failed (EXPECT_FALSE) in %s, line %d\n", __FILE__, __LINE__); \ 13 exit(1); \ 14 } } 15 16 #define EXPECT_EQ(a,b) { \ 17 if (!(a == b)) { std::cerr << "test failed: " <<a<<"!="<<b<< " in " \ 18 << __FILE__ << ", line " <<__LINE__ << std::endl; \ 19 exit(1); \ 20 } } 21 22 #define EXPECT_FLOAT_EQ(a,b) { \ 23 if (!(fabs(a-b) <= 1e-5)) { fprintf(stderr, "test failed: %f != %f in %s, line %d\n", a, b, __FILE__, __LINE__); \ 24 exit(1); \ 25 } } 26 27 #define EXPECT_NEAR(a,b,prec) { \ 28 if (!(fabs(a-b) <= prec)) { fprintf(stderr, "test failed: |%f - %f| > %f in %s, line %d\n", a, b, prec, __FILE__, __LINE__); \ 29 exit(1); \ 30 } } 31 32