23 #ifndef INCLUDED_SELF_TEST 24 #define INCLUDED_SELF_TEST 31 #define CXXTEST_HAVE_EH 32 #define CXXTEST_HAVE_STD 37 #include <cxxtest/StdValueTraits.h> 38 #include <cxxtest/TestSuite.h> 45 CXXTEST_TEMPLATE_INSTANTIATION
46 class ValueTraits<const CStr8> :
public ValueTraits<const CXXTEST_STD(string)>
49 ValueTraits(
const CStr8 &s ) : ValueTraits<const CXXTEST_STD(string)>( s.c_str() ) {}
54 CXXTEST_TEMPLATE_INSTANTIATION
55 class ValueTraits<const CStrW> :
public ValueTraits<const CXXTEST_STD(wstring)>
58 ValueTraits(
const CStrW &s ) : ValueTraits<const CXXTEST_STD(wstring)>( s.c_str() ) {}
96 s <<
"[" << v.
X <<
", " << v.
Y <<
", " << v.
Z <<
"]";
106 #define TS_ASSERT_OK(expr) TS_ASSERT_EQUALS((expr), INFO::OK) 107 #define TSM_ASSERT_OK(m, expr) TSM_ASSERT_EQUALS(m, (expr), INFO::OK) 108 #define TS_ASSERT_STR_EQUALS(str1, str2) TS_ASSERT_EQUALS(std::string(str1), std::string(str2)) 109 #define TSM_ASSERT_STR_EQUALS(m, str1, str2) TSM_ASSERT_EQUALS(m, std::string(str1), std::string(str2)) 110 #define TS_ASSERT_WSTR_EQUALS(str1, str2) TS_ASSERT_EQUALS(std::wstring(str1), std::wstring(str2)) 111 #define TSM_ASSERT_WSTR_EQUALS(m, str1, str2) TSM_ASSERT_EQUALS(m, std::wstring(str1), std::wstring(str2)) 112 #define TS_ASSERT_PATH_EQUALS(path1, path2) TS_ASSERT_EQUALS((path1).string(), (path2).string()) 113 #define TSM_ASSERT_PATH_EQUALS(m, path1, path2) TSM_ASSERT_EQUALS(m, (path1).string(), (path2).string()) 115 bool ts_str_contains(
const std::string& str1,
const std::string& str2);
116 bool ts_str_contains(
const std::wstring& str1,
const std::wstring& str2);
117 #define TS_ASSERT_STR_CONTAINS(str1, str2) TSM_ASSERT(str1, ts_str_contains(str1, str2)) 118 #define TS_ASSERT_STR_NOT_CONTAINS(str1, str2) TSM_ASSERT(str1, !ts_str_contains(str1, str2)) 119 #define TS_ASSERT_WSTR_CONTAINS(str1, str2) TSM_ASSERT(str1, ts_str_contains(str1, str2)) 120 #define TS_ASSERT_WSTR_NOT_CONTAINS(str1, str2) TSM_ASSERT(str1, !ts_str_contains(str1, str2)) 122 template <
typename T>
125 return std::vector<T>(start, start+(size_bytes/
sizeof(
T)));
127 #define TS_ASSERT_VECTOR_EQUALS_ARRAY(vec1, array) TS_ASSERT_EQUALS(vec1, ts_make_vector((array), sizeof(array))) 128 #define TS_ASSERT_VECTOR_CONTAINS(vec1, element) TS_ASSERT(std::find((vec1).begin(), (vec1).end(), element) != (vec1).end()); 139 #endif // #ifndef INCLUDED_SELF_TEST OsPath DataDir()
Definition: test_setup.cpp:123
void ScriptTestSetup(ScriptInterface &)
Definition: test_setup.cpp:138
const char * asString() const
Definition: self_test.h:81
Definition: Vector3D.h:28
fixed Y
Definition: FixedVector3D.h:27
ValueTraits(const CStrW &s)
Definition: self_test.h:58
std::string str
Definition: self_test.h:91
CFixedVector3D v
Definition: self_test.h:72
float X
Definition: Vector3D.h:31
CXXTEST_COPY_CONST_TRAITS(CStr8)
float Y
Definition: Vector3D.h:31
Definition: FixedVector3D.h:24
ValueTraits(const CFixedVector3D &v)
Definition: self_test.h:75
CVector3D v
Definition: self_test.h:90
#define T(string_literal)
Definition: secure_crt.cpp:76
double ToDouble() const
Convert to double. Won't be lossy - double can precisely represent all values.
Definition: Fixed.h:167
fixed Z
Definition: FixedVector3D.h:27
fixed X
Definition: FixedVector3D.h:27
std::vector< T > ts_make_vector(T *start, size_t size_bytes)
Definition: self_test.h:123
bool ts_str_contains(const std::string &str1, const std::string &str2)
Definition: test_setup.cpp:109
ValueTraits(const CVector3D &v)
Definition: self_test.h:93
float Z
Definition: Vector3D.h:31
Abstraction around a SpiderMonkey JSContext.
Definition: ScriptInterface.h:71
const char * asString() const
Definition: self_test.h:99
ValueTraits(const CStr8 &s)
Definition: self_test.h:49
Definition: self_test.h:43
std::string str
Definition: self_test.h:73