110 #ifndef INCLUDED_SELF_TEST
111 #define INCLUDED_SELF_TEST
189 #define CXXTEST_HAVE_EH
190 #define CXXTEST_HAVE_STD
195 #include <cxxtest/StdValueTraits.h>
196 #include <cxxtest/TestSuite.h>
202 CXXTEST_TEMPLATE_INSTANTIATION
203 class ValueTraits<const CStr8> :
public ValueTraits<const CXXTEST_STD(string)>
206 ValueTraits(
const CStr8 &s ) : ValueTraits<const CXXTEST_STD(string)>( s.c_str() ) {}
211 CXXTEST_TEMPLATE_INSTANTIATION
212 class ValueTraits<const CStrW> :
public ValueTraits<const CXXTEST_STD(wstring)>
215 ValueTraits(
const CStrW &s ) : ValueTraits<const CXXTEST_STD(wstring)>( s.c_str() ) {}
253 s <<
"[" << v.
X <<
", " << v.
Y <<
", " << v.
Z <<
"]";
263 #define TS_ASSERT_OK(expr) TS_ASSERT_EQUALS((expr), INFO::OK)
264 #define TSM_ASSERT_OK(m, expr) TSM_ASSERT_EQUALS(m, (expr), INFO::OK)
265 #define TS_ASSERT_STR_EQUALS(str1, str2) TS_ASSERT_EQUALS(std::string(str1), std::string(str2))
266 #define TSM_ASSERT_STR_EQUALS(m, str1, str2) TSM_ASSERT_EQUALS(m, std::string(str1), std::string(str2))
267 #define TS_ASSERT_WSTR_EQUALS(str1, str2) TS_ASSERT_EQUALS(std::wstring(str1), std::wstring(str2))
268 #define TSM_ASSERT_WSTR_EQUALS(m, str1, str2) TSM_ASSERT_EQUALS(m, std::wstring(str1), std::wstring(str2))
269 #define TS_ASSERT_PATH_EQUALS(path1, path2) TS_ASSERT_EQUALS((path1).string(), (path2).string())
270 #define TSM_ASSERT_PATH_EQUALS(m, path1, path2) TSM_ASSERT_EQUALS(m, (path1).string(), (path2).string())
272 bool ts_str_contains(
const std::wstring& str1,
const std::wstring& str2);
273 #define TS_ASSERT_WSTR_CONTAINS(str1, str2) TSM_ASSERT(str1, ts_str_contains(str1, str2))
274 #define TS_ASSERT_WSTR_NOT_CONTAINS(str1, str2) TSM_ASSERT(str1, !ts_str_contains(str1, str2))
276 template <
typename T>
279 return std::vector<T>(start, start+(size_bytes/
sizeof(
T)));
281 #define TS_ASSERT_VECTOR_EQUALS_ARRAY(vec1, array) TS_ASSERT_EQUALS(vec1, ts_make_vector((array), sizeof(array)))
282 #define TS_ASSERT_VECTOR_CONTAINS(vec1, element) TS_ASSERT(std::find((vec1).begin(), (vec1).end(), element) != (vec1).end());
293 #endif // #ifndef INCLUDED_SELF_TEST
void ScriptTestSetup(ScriptInterface &)
const char * asString() const
ValueTraits(const CStrW &s)
CXXTEST_COPY_CONST_TRAITS(CStr8)
ValueTraits(const CFixedVector3D &v)
#define T(string_literal)
double ToDouble() const
Convert to double. Won't be lossy - double can precisely represent all values.
bool ts_str_contains(const std::wstring &str1, const std::wstring &str2)
std::vector< T > ts_make_vector(T *start, size_t size_bytes)
ValueTraits(const CVector3D &v)
Abstraction around a SpiderMonkey JSContext.
const char * asString() const
ValueTraits(const CStr8 &s)