- #include "UnitTest++/UnitTestPP.h" 
- #include "ScopedCurrentTest.h" 
-   
- // These are sample tests that show the different features of the framework 
-   
- namespace { 
-   
-    TEST(ValidCheckSucceeds) 
-    { 
-       bool const b = true; 
-       CHECK(b); 
-    } 
-   
-    TEST(CheckWorksWithPointers) 
-    { 
-       void* p = (void *)0x100; 
-       CHECK(p); 
-       CHECK(p != 0); 
-    } 
-   
-    TEST(ValidCheckEqualSucceeds) 
-    { 
-       int const x = 3; 
-       int const y = 3; 
-       CHECK_EQUAL(x, y); 
-    } 
-   
-    TEST(CheckEqualWorksWithPointers) 
-    { 
-       void* p = (void *)0; 
-       CHECK_EQUAL((void*)0, p); 
-    } 
-   
-    TEST(ValidCheckCloseSucceeds) 
-    { 
-       CHECK_CLOSE(2.0f, 2.001f, 0.01f); 
-       CHECK_CLOSE(2.001f, 2.0f, 0.01f); 
-    } 
-   
-    TEST(ArrayCloseSucceeds) 
-    { 
-       float const a1[] = {1, 2, 3}; 
-       float const a2[] = {1, 2.01f, 3}; 
-       CHECK_ARRAY_CLOSE(a1, a2, 3, 0.1f); 
-    } 
-   
- #ifndef UNITTEST_NO_EXCEPTIONS 
-   
-    TEST(CheckThrowMacroSucceedsOnCorrectException) 
-    { 
-       struct TestException {}; 
-       CHECK_THROW(throw TestException(), TestException); 
-    } 
-   
-    TEST(CheckAssertSucceeds) 
-    { 
-       CHECK_ASSERT(UnitTest::ReportAssert("desc", "file", 0)); 
-    } 
-   
-    TEST(CheckThrowMacroFailsOnMissingException) 
-    { 
-       class NoThrowTest : public UnitTest::Test 
-       { 
-       public: 
-          NoThrowTest() : Test("nothrow") {} 
-          void DontThrow() const 
-          {} 
-   
-          virtual void RunImpl() const 
-          { 
-             CHECK_THROW(DontThrow(), int); 
-          } 
-       }; 
-   
-       UnitTest::TestResults results; 
-       { 
-          ScopedCurrentTest scopedResults(results); 
-   
-          NoThrowTest test; 
-          test.Run(); 
-       } 
-   
-       CHECK_EQUAL(1, results.GetFailureCount()); 
-    } 
-   
-    TEST(CheckThrowMacroFailsOnWrongException) 
-    { 
-       class WrongThrowTest : public UnitTest::Test 
-       { 
-       public: 
-          WrongThrowTest() : Test("wrongthrow") {} 
-          virtual void RunImpl() const 
-          { 
-             CHECK_THROW(throw "oops", int); 
-          } 
-       }; 
-   
-       UnitTest::TestResults results; 
-       { 
-          ScopedCurrentTest scopedResults(results); 
-   
-          WrongThrowTest test; 
-          test.Run(); 
-       } 
-   
-       CHECK_EQUAL(1, results.GetFailureCount()); 
-    } 
-   
- #endif 
-   
-    struct SimpleFixture 
-    { 
-       SimpleFixture() 
-       { 
-          ++instanceCount; 
-       } 
-       ~SimpleFixture() 
-       { 
-          --instanceCount; 
-       } 
-   
-       static int instanceCount; 
-    }; 
-   
-    int SimpleFixture::instanceCount = 0; 
-   
-    TEST_FIXTURE(SimpleFixture, DefaultFixtureCtorIsCalled) 
-    { 
-       CHECK(SimpleFixture::instanceCount > 0); 
-    } 
-   
-    TEST_FIXTURE(SimpleFixture, OnlyOneFixtureAliveAtATime) 
-    { 
-       CHECK_EQUAL(1, SimpleFixture::instanceCount); 
-    } 
-   
-    void CheckBool(const bool b) 
-    { 
-       CHECK(b); 
-    } 
-   
-    TEST(CanCallCHECKOutsideOfTestFunction) 
-    { 
-       CheckBool(true); 
-    } 
-   
- } 
-