Classes | Namespaces | Macros
BeTest.h File Reference
#include "Bentley.h"
#include "bvector.h"
#include "bset.h"
#include "BeFile.h"
#include "WString.h"
#include "BeFileName.h"
#include "BeFileListIterator.h"
#include "BeStringUtilities.h"
#include "BeAssert.h"
#include <Bentley/bvector.h>
#include <math.h>

Go to the source code of this file.

Classes

class  Test
 
struct  BeTest
 Portable unit test utility functions, not specific to any one test harness. More...
 
struct  BeTest::IGetDataRoots
 Interface to be implemented by an object that can tell unit tests where to find files. More...
 
struct  BeTest::ExpectedResult
 Captures the result of testing a condition. More...
 

Namespaces

 testing
 
 Bentley
 The Bentley namespace contains types defined by the Bentley Library.
 

Macros

#define TEST_CLASS_NAME(testCaseName, testName)   TEST_##testCaseName##_##testName
 
#define TEST_RUNNER_FUNC(testCaseName, testName)   run_TEST_##testCaseName##_##testName
 
#define DEFINE_BETEST_INTERNAL(superTestName, testCaseName, testName)
 
#define TEST_F(testCaseName, testName)   DEFINE_BETEST_INTERNAL(testCaseName,testCaseName,testName)
 
#define TEST(testCaseName, testName)   DEFINE_BETEST_INTERNAL(testing::Test,testCaseName,testName)
 
#define RUN_ALL_TESTS   BeTest::RunAllTests
 
#define BE_TEST_EXPECTED_RESULT_EQ(expected, actual, fatal)   BeTest::ExpectedResult ((expected) == (actual), #expected, #actual, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_NE(val1, val2, fatal)   BeTest::ExpectedResult ((val1) != (val2), #val1, #val2, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_STREQ(val1, val2, fatal)   BeTest::ExpectedResult (0==wcscmp(val1, val2), #val1, #val2, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_STRNE(val1, val2, fatal)   BeTest::ExpectedResult (0!=wcscmp(val1, val2), #val1, #val2, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_ASTREQ(val1, val2, fatal)   BeTest::ExpectedResult (0==strcmp(val1, val2), #val1, #val2, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_TRUE(expression, fatal)   BeTest::ExpectedResult ((expression) != 0, "TRUE", #expression, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_FALSE(expression, fatal)   BeTest::ExpectedResult ((expression) == 0, "FALSE", #expression, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_LE(val1, val2, fatal)   BeTest::ExpectedResult ((val1) <= (val2), #val1, #val2, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_LT(val1, val2, fatal)   BeTest::ExpectedResult ((val1) < (val2), #val1, #val2, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_GE(val1, val2, fatal)   BeTest::ExpectedResult ((val1) >= (val2), #val1, #val2, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_GT(val1, val2, fatal)   BeTest::ExpectedResult ((val1) > (val2), #val1, #val2, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_NEAR(val1, val2, tol, fatal)   BeTest::ExpectedResult (BeTest::EqTol(val1,val2,tol), #val1, #val2, __FILE__ , __LINE__,fatal)
 
#define BE_TEST_EXPECTED_RESULT_FAIL()   BeTest::ExpectedResult (false, "SUCCESS", "FAIL", __FILE__ , __LINE__,true)
 
#define ASSERT_EQ(expected, actual)   BE_TEST_EXPECTED_RESULT_EQ(expected,actual,true)
 
#define EXPECT_EQ(expected, actual)   BE_TEST_EXPECTED_RESULT_EQ(expected,actual,false)
 
#define ASSERT_TRUE(expression)   BE_TEST_EXPECTED_RESULT_TRUE(expression,true)
 
#define EXPECT_TRUE(expression)   BE_TEST_EXPECTED_RESULT_TRUE(expression,false)
 
#define ASSERT_FALSE(expression)   BE_TEST_EXPECTED_RESULT_FALSE(expression,true)
 
#define EXPECT_FALSE(expression)   BE_TEST_EXPECTED_RESULT_FALSE(expression,false)
 
#define ASSERT_NE(val1, val2)   BE_TEST_EXPECTED_RESULT_NE(val1,val2,true)
 
#define EXPECT_NE(val1, val2)   BE_TEST_EXPECTED_RESULT_NE(val1,val2,false)
 
#define ASSERT_LE(val1, val2)   BE_TEST_EXPECTED_RESULT_LE(val1,val2,true)
 
#define EXPECT_LE(val1, val2)   BE_TEST_EXPECTED_RESULT_LE(val1,val2,false)
 
#define ASSERT_LT(val1, val2)   BE_TEST_EXPECTED_RESULT_LT(val1,val2,true)
 
#define EXPECT_LT(val1, val2)   BE_TEST_EXPECTED_RESULT_LT(val1,val2,false)
 
#define ASSERT_GE(val1, val2)   BE_TEST_EXPECTED_RESULT_GE(val1,val2,true)
 
#define EXPECT_GE(val1, val2)   BE_TEST_EXPECTED_RESULT_GE(val1,val2,false)
 
#define ASSERT_GT(val1, val2)   BE_TEST_EXPECTED_RESULT_GT(val1,val2,true)
 
#define EXPECT_GT(val1, val2)   BE_TEST_EXPECTED_RESULT_GT(val1,val2,false)
 
#define ASSERT_STREQ(val1, val2)   BE_TEST_EXPECTED_RESULT_STREQ(val1,val2,true)
 
#define EXPECT_STREQ(val1, val2)   BE_TEST_EXPECTED_RESULT_STREQ(val1,val2,false)
 
#define ASSERT_ASTREQ(val1, val2)   BE_TEST_EXPECTED_RESULT_ASTREQ(val1,val2,true)
 
#define EXPECT_ASTREQ(val1, val2)   BE_TEST_EXPECTED_RESULT_ASTREQ(val1,val2,false)
 
#define ASSERT_STRNE(val1, val2)   BE_TEST_EXPECTED_RESULT_STRNE(val1,val2,true)
 
#define EXPECT_STRNE(val1, val2)   BE_TEST_EXPECTED_RESULT_STRNE(val1,val2,false)
 
#define ASSERT_NEAR(val1, val2, tol)   BE_TEST_EXPECTED_RESULT_NEAR(val1, val2, tol,true)
 
#define EXPECT_NEAR(val1, val2, tol)   BE_TEST_EXPECTED_RESULT_NEAR(val1, val2, tol,false)
 
#define FAIL()   BE_TEST_EXPECTED_RESULT_FAIL()
 
#define SUCCEED()
 
#define EXPECT_DOUBLE_EQ(expected, actual)   EXPECT_EQ(expected,actual)
 

Macro Definition Documentation

#define ASSERT_ASTREQ (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_ASTREQ(val1,val2,true)
#define ASSERT_EQ (   expected,
  actual 
)    BE_TEST_EXPECTED_RESULT_EQ(expected,actual,true)
#define ASSERT_FALSE (   expression)    BE_TEST_EXPECTED_RESULT_FALSE(expression,true)
#define ASSERT_GE (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_GE(val1,val2,true)
#define ASSERT_GT (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_GT(val1,val2,true)
#define ASSERT_LE (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_LE(val1,val2,true)
#define ASSERT_LT (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_LT(val1,val2,true)
#define ASSERT_NE (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_NE(val1,val2,true)
#define ASSERT_NEAR (   val1,
  val2,
  tol 
)    BE_TEST_EXPECTED_RESULT_NEAR(val1, val2, tol,true)
#define ASSERT_STREQ (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_STREQ(val1,val2,true)
#define ASSERT_STRNE (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_STRNE(val1,val2,true)
#define ASSERT_TRUE (   expression)    BE_TEST_EXPECTED_RESULT_TRUE(expression,true)
#define BE_TEST_EXPECTED_RESULT_ASTREQ (   val1,
  val2,
  fatal 
)    BeTest::ExpectedResult (0==strcmp(val1, val2), #val1, #val2, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_EQ (   expected,
  actual,
  fatal 
)    BeTest::ExpectedResult ((expected) == (actual), #expected, #actual, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_FAIL ( )    BeTest::ExpectedResult (false, "SUCCESS", "FAIL", __FILE__ , __LINE__,true)
#define BE_TEST_EXPECTED_RESULT_FALSE (   expression,
  fatal 
)    BeTest::ExpectedResult ((expression) == 0, "FALSE", #expression, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_GE (   val1,
  val2,
  fatal 
)    BeTest::ExpectedResult ((val1) >= (val2), #val1, #val2, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_GT (   val1,
  val2,
  fatal 
)    BeTest::ExpectedResult ((val1) > (val2), #val1, #val2, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_LE (   val1,
  val2,
  fatal 
)    BeTest::ExpectedResult ((val1) <= (val2), #val1, #val2, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_LT (   val1,
  val2,
  fatal 
)    BeTest::ExpectedResult ((val1) < (val2), #val1, #val2, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_NE (   val1,
  val2,
  fatal 
)    BeTest::ExpectedResult ((val1) != (val2), #val1, #val2, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_NEAR (   val1,
  val2,
  tol,
  fatal 
)    BeTest::ExpectedResult (BeTest::EqTol(val1,val2,tol), #val1, #val2, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_STREQ (   val1,
  val2,
  fatal 
)    BeTest::ExpectedResult (0==wcscmp(val1, val2), #val1, #val2, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_STRNE (   val1,
  val2,
  fatal 
)    BeTest::ExpectedResult (0!=wcscmp(val1, val2), #val1, #val2, __FILE__ , __LINE__,fatal)
#define BE_TEST_EXPECTED_RESULT_TRUE (   expression,
  fatal 
)    BeTest::ExpectedResult ((expression) != 0, "TRUE", #expression, __FILE__ , __LINE__,fatal)
#define DEFINE_BETEST_INTERNAL (   superTestName,
  testCaseName,
  testName 
)
Value:
struct TEST_CLASS_NAME(testCaseName,testName) : superTestName \
{ \
CharCP GetTestCaseNameA () const { return #testCaseName; } \
CharCP GetTestNameA () const { return #testName; } \
virtual void TestBody () override; \
}; \
extern "C" EXPORT_ATTRIBUTE int TEST_RUNNER_FUNC(testCaseName,testName) () {size_t e = BeTest::GetErrorCount(); TEST_CLASS_NAME(testCaseName,testName) t; t.Run(); return BeTest::GetErrorCount() > e;} \
void TEST_CLASS_NAME(testCaseName,testName) :: TestBody ()
Portable unit test utility functions, not specific to any one test harness.
Definition: BeTest.h:79
#define TEST_CLASS_NAME(testCaseName, testName)
Definition: BeTest.h:46
#define EXPORT_ATTRIBUTE
Definition: Bentley.h:63
char const * CharCP
Definition: Bentley.h:226
#define TEST_RUNNER_FUNC(testCaseName, testName)
Definition: BeTest.h:47
#define EXPECT_ASTREQ (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_ASTREQ(val1,val2,false)
#define EXPECT_DOUBLE_EQ (   expected,
  actual 
)    EXPECT_EQ(expected,actual)
#define EXPECT_EQ (   expected,
  actual 
)    BE_TEST_EXPECTED_RESULT_EQ(expected,actual,false)
#define EXPECT_FALSE (   expression)    BE_TEST_EXPECTED_RESULT_FALSE(expression,false)
#define EXPECT_GE (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_GE(val1,val2,false)
#define EXPECT_GT (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_GT(val1,val2,false)
#define EXPECT_LE (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_LE(val1,val2,false)
#define EXPECT_LT (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_LT(val1,val2,false)
#define EXPECT_NE (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_NE(val1,val2,false)
#define EXPECT_NEAR (   val1,
  val2,
  tol 
)    BE_TEST_EXPECTED_RESULT_NEAR(val1, val2, tol,false)
#define EXPECT_STREQ (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_STREQ(val1,val2,false)
#define EXPECT_STRNE (   val1,
  val2 
)    BE_TEST_EXPECTED_RESULT_STRNE(val1,val2,false)
#define EXPECT_TRUE (   expression)    BE_TEST_EXPECTED_RESULT_TRUE(expression,false)
#define FAIL ( )    BE_TEST_EXPECTED_RESULT_FAIL()
#define RUN_ALL_TESTS   BeTest::RunAllTests
#define SUCCEED ( )
#define TEST (   testCaseName,
  testName 
)    DEFINE_BETEST_INTERNAL(testing::Test,testCaseName,testName)
#define TEST_CLASS_NAME (   testCaseName,
  testName 
)    TEST_##testCaseName##_##testName
#define TEST_F (   testCaseName,
  testName 
)    DEFINE_BETEST_INTERNAL(testCaseName,testCaseName,testName)
#define TEST_RUNNER_FUNC (   testCaseName,
  testName 
)    run_TEST_##testCaseName##_##testName

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.