1 #include "Checks.h"
2 #include <cstring>
3 
4 namespace UnitTest {
5 
6 namespace {
7 
CheckStringsEqual(TestResults & results,char const * expected,char const * actual,TestDetails const & details)8 void CheckStringsEqual(TestResults& results, char const* expected, char const* actual,
9                        TestDetails const& details)
10 {
11 	using namespace std;
12 
13     if ((expected && actual) ? strcmp(expected, actual) : (expected || actual))
14     {
15         UnitTest::MemoryOutStream stream;
16         stream << "Expected " << (expected ? expected : "<NULLPTR>") << " but was " << (actual ? actual : "<NULLPTR>");
17 
18         results.OnTestFailure(details, stream.GetText());
19     }
20 }
21 
22 }
23 
24 
CheckEqual(TestResults & results,char const * expected,char const * actual,TestDetails const & details)25 void CheckEqual(TestResults& results, char const* expected, char const* actual,
26                 TestDetails const& details)
27 {
28     CheckStringsEqual(results, expected, actual, details);
29 }
30 
CheckEqual(TestResults & results,char * expected,char * actual,TestDetails const & details)31 void CheckEqual(TestResults& results, char* expected, char* actual,
32                 TestDetails const& details)
33 {
34     CheckStringsEqual(results, expected, actual, details);
35 }
36 
CheckEqual(TestResults & results,char * expected,char const * actual,TestDetails const & details)37 void CheckEqual(TestResults& results, char* expected, char const* actual,
38                 TestDetails const& details)
39 {
40     CheckStringsEqual(results, expected, actual, details);
41 }
42 
CheckEqual(TestResults & results,char const * expected,char * actual,TestDetails const & details)43 void CheckEqual(TestResults& results, char const* expected, char* actual,
44                 TestDetails const& details)
45 {
46     CheckStringsEqual(results, expected, actual, details);
47 }
48 
49 
50 }
51