get rid of special WX_ASSERT_FOO_EQUAL macros by defining CppUnit::assertEquals() overloads for wx types

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-07-18 23:07:23 +00:00
parent a6eac99d9e
commit 1de532f57e
16 changed files with 191 additions and 155 deletions

View File

@@ -81,11 +81,51 @@
#define WXTEST_FAIL_WITH_CONDITION(suiteName, Condition, testMethod) \ #define WXTEST_FAIL_WITH_CONDITION(suiteName, Condition, testMethod) \
WXTEST_ANY_WITH_CONDITION(suiteName, Condition, testMethod, CPPUNIT_TEST_FAIL(testMethod)) WXTEST_ANY_WITH_CONDITION(suiteName, Condition, testMethod, CPPUNIT_TEST_FAIL(testMethod))
// Use this macro to compare a wxString with a literal string. CPPUNIT_NS_BEGIN
#define WX_ASSERT_STR_EQUAL(p, s) CPPUNIT_ASSERT_EQUAL(wxString(p), s)
// Use this macro to compare a size_t with a literal integer // provide an overload of cppunit assertEquals(T, T) which can be used to
#define WX_ASSERT_SIZET_EQUAL(n, m) CPPUNIT_ASSERT_EQUAL(((size_t)n), m) // compare wxStrings directly with C strings
inline void
assertEquals(const char *expected,
const wxString& actual,
CppUnit::SourceLine sourceLine,
const std::string& message)
{
assertEquals(wxString(expected), actual, sourceLine, message);
}
inline void
assertEquals(const wchar_t *expected,
const wxString& actual,
CppUnit::SourceLine sourceLine,
const std::string& message)
{
assertEquals(wxString(expected), actual, sourceLine, message);
}
// and another to be able to specify (usually literal) ints as expected values
// for functions returning size_t
inline void
assertEquals(int expected,
size_t actual,
CppUnit::SourceLine sourceLine,
const std::string& message)
{
assertEquals(size_t(expected), actual, sourceLine, message);
}
// and another, slightly different, for checking that result of potentially
// different time_t type is the same as given time_t value
inline void
assertEquals(time_t expected,
long actual,
CppUnit::SourceLine sourceLine,
const std::string& message)
{
assertEquals(expected, time_t(actual), sourceLine, message);
}
CPPUNIT_NS_END
// Use this macro to compare a wxArrayString with the pipe-separated elements // Use this macro to compare a wxArrayString with the pipe-separated elements
// of the given string // of the given string
@@ -104,10 +144,6 @@
} \ } \
} }
// Use this macro to compare the expected time_t value with the result of not
// necessarily time_t type
#define WX_ASSERT_TIME_T_EQUAL(t, n) CPPUNIT_ASSERT_EQUAL((t), (time_t)(n))
// Use this macro to assert with the given formatted message (it should contain // Use this macro to assert with the given formatted message (it should contain
// the format string and arguments in a separate pair of parentheses) // the format string and arguments in a separate pair of parentheses)
#define WX_ASSERT_MESSAGE(msg, cond) \ #define WX_ASSERT_MESSAGE(msg, cond) \

View File

@@ -131,7 +131,7 @@ void Base64TestCase::EncodeDecodeEmpty()
CPPUNIT_ASSERT(resultEmpty.empty()); CPPUNIT_ASSERT(resultEmpty.empty());
bufmt = wxBase64Decode(resultEmpty); bufmt = wxBase64Decode(resultEmpty);
WX_ASSERT_SIZET_EQUAL(0, bufmt.GetDataLen()); CPPUNIT_ASSERT_EQUAL(0, bufmt.GetDataLen());
} }
void Base64TestCase::EncodeDecodeA() void Base64TestCase::EncodeDecodeA()
@@ -140,7 +140,7 @@ void Base64TestCase::EncodeDecodeA()
CPPUNIT_ASSERT_EQUAL(wxString("QQ=="), str); CPPUNIT_ASSERT_EQUAL(wxString("QQ=="), str);
wxMemoryBuffer buf = wxBase64Decode(str); wxMemoryBuffer buf = wxBase64Decode(str);
WX_ASSERT_SIZET_EQUAL(1, buf.GetDataLen()); CPPUNIT_ASSERT_EQUAL(1, buf.GetDataLen());
CPPUNIT_ASSERT_EQUAL('A', *(char *)buf.GetData()); CPPUNIT_ASSERT_EQUAL('A', *(char *)buf.GetData());
} }
@@ -150,7 +150,7 @@ void Base64TestCase::EncodeDecodeAB()
CPPUNIT_ASSERT_EQUAL(wxString("QUI="), str); CPPUNIT_ASSERT_EQUAL(wxString("QUI="), str);
wxMemoryBuffer buf = wxBase64Decode(str); wxMemoryBuffer buf = wxBase64Decode(str);
WX_ASSERT_SIZET_EQUAL(2, buf.GetDataLen()); CPPUNIT_ASSERT_EQUAL(2, buf.GetDataLen());
CPPUNIT_ASSERT_EQUAL('A', buf[0]); CPPUNIT_ASSERT_EQUAL('A', buf[0]);
CPPUNIT_ASSERT_EQUAL('B', buf[1]); CPPUNIT_ASSERT_EQUAL('B', buf[1]);
} }
@@ -161,7 +161,7 @@ void Base64TestCase::EncodeDecodeABC()
CPPUNIT_ASSERT_EQUAL(wxString("QUJD"), str); CPPUNIT_ASSERT_EQUAL(wxString("QUJD"), str);
wxMemoryBuffer buf = wxBase64Decode(str); wxMemoryBuffer buf = wxBase64Decode(str);
WX_ASSERT_SIZET_EQUAL(3, buf.GetDataLen()); CPPUNIT_ASSERT_EQUAL(3, buf.GetDataLen());
CPPUNIT_ASSERT_EQUAL('A', buf[0]); CPPUNIT_ASSERT_EQUAL('A', buf[0]);
CPPUNIT_ASSERT_EQUAL('B', buf[1]); CPPUNIT_ASSERT_EQUAL('B', buf[1]);
CPPUNIT_ASSERT_EQUAL('C', buf[2]); CPPUNIT_ASSERT_EQUAL('C', buf[2]);
@@ -173,7 +173,7 @@ void Base64TestCase::EncodeDecodeABCD()
CPPUNIT_ASSERT_EQUAL(wxString("QUJDRA=="), str); CPPUNIT_ASSERT_EQUAL(wxString("QUJDRA=="), str);
wxMemoryBuffer buf = wxBase64Decode(str); wxMemoryBuffer buf = wxBase64Decode(str);
WX_ASSERT_SIZET_EQUAL(4, buf.GetDataLen()); CPPUNIT_ASSERT_EQUAL(4, buf.GetDataLen());
CPPUNIT_ASSERT_EQUAL('A', buf[0]); CPPUNIT_ASSERT_EQUAL('A', buf[0]);
CPPUNIT_ASSERT_EQUAL('B', buf[1]); CPPUNIT_ASSERT_EQUAL('B', buf[1]);
CPPUNIT_ASSERT_EQUAL('C', buf[2]); CPPUNIT_ASSERT_EQUAL('C', buf[2]);
@@ -241,28 +241,28 @@ void Base64TestCase::DecodeInvalid()
rc = wxBase64Decode(NULL, 0, "one two!", wxNO_LEN, rc = wxBase64Decode(NULL, 0, "one two!", wxNO_LEN,
wxBase64DecodeMode_Strict, &posErr); wxBase64DecodeMode_Strict, &posErr);
CPPUNIT_ASSERT_EQUAL( wxCONV_FAILED, rc); CPPUNIT_ASSERT_EQUAL( wxCONV_FAILED, rc);
WX_ASSERT_SIZET_EQUAL( 3, posErr ); CPPUNIT_ASSERT_EQUAL( 3, posErr );
rc = wxBase64Decode(NULL, 0, "one two!", wxNO_LEN, rc = wxBase64Decode(NULL, 0, "one two!", wxNO_LEN,
wxBase64DecodeMode_SkipWS, &posErr); wxBase64DecodeMode_SkipWS, &posErr);
CPPUNIT_ASSERT_EQUAL( wxCONV_FAILED, rc); CPPUNIT_ASSERT_EQUAL( wxCONV_FAILED, rc);
WX_ASSERT_SIZET_EQUAL( 7, posErr ); CPPUNIT_ASSERT_EQUAL( 7, posErr );
rc = wxBase64Decode(NULL, 0, "? QQ==", wxNO_LEN, rc = wxBase64Decode(NULL, 0, "? QQ==", wxNO_LEN,
wxBase64DecodeMode_SkipWS, &posErr); wxBase64DecodeMode_SkipWS, &posErr);
CPPUNIT_ASSERT_EQUAL( wxCONV_FAILED, rc); CPPUNIT_ASSERT_EQUAL( wxCONV_FAILED, rc);
WX_ASSERT_SIZET_EQUAL( 0, posErr ); CPPUNIT_ASSERT_EQUAL( 0, posErr );
posErr = (size_t)-1; posErr = (size_t)-1;
rc = wxBase64Decode(NULL, 0, " QQ==", wxNO_LEN, rc = wxBase64Decode(NULL, 0, " QQ==", wxNO_LEN,
wxBase64DecodeMode_SkipWS, &posErr); wxBase64DecodeMode_SkipWS, &posErr);
WX_ASSERT_SIZET_EQUAL( 1, rc ); CPPUNIT_ASSERT_EQUAL( 1, rc );
WX_ASSERT_SIZET_EQUAL( -1, posErr ); CPPUNIT_ASSERT_EQUAL( -1, posErr );
rc = wxBase64Decode(NULL, 0, "? QQ==", wxNO_LEN, rc = wxBase64Decode(NULL, 0, "? QQ==", wxNO_LEN,
wxBase64DecodeMode_Relaxed, &posErr); wxBase64DecodeMode_Relaxed, &posErr);
WX_ASSERT_SIZET_EQUAL( 1, rc ); CPPUNIT_ASSERT_EQUAL( 1, rc );
WX_ASSERT_SIZET_EQUAL( -1, posErr ); CPPUNIT_ASSERT_EQUAL( -1, posErr );
CPPUNIT_ASSERT( !wxBase64Decode("wxGetApp()").GetDataLen() ); CPPUNIT_ASSERT( !wxBase64Decode("wxGetApp()").GetDataLen() );
} }

View File

@@ -158,9 +158,9 @@ void CmdLineTestCase::Usage()
Line_Max Line_Max
}; };
WX_ASSERT_SIZET_EQUAL( Line_Max, usageLines.size() ); CPPUNIT_ASSERT_EQUAL(Line_Max, usageLines.size());
WX_ASSERT_STR_EQUAL("Verbosity options", usageLines[Line_Text_Verbosity]); CPPUNIT_ASSERT_EQUAL("Verbosity options", usageLines[Line_Text_Verbosity]);
WX_ASSERT_STR_EQUAL("", usageLines[Line_Text_Dummy1]); CPPUNIT_ASSERT_EQUAL("", usageLines[Line_Text_Dummy1]);
WX_ASSERT_STR_EQUAL("Even more usage text", usageLines[Line_Text_Dummy2]); CPPUNIT_ASSERT_EQUAL("Even more usage text", usageLines[Line_Text_Dummy2]);
WX_ASSERT_STR_EQUAL("", usageLines[Line_Last]); CPPUNIT_ASSERT_EQUAL("", usageLines[Line_Last]);
} }

View File

@@ -79,16 +79,16 @@ void TextCtrlTestCase::SetValue()
CPPUNIT_ASSERT( m_text->IsEmpty() ); CPPUNIT_ASSERT( m_text->IsEmpty() );
m_text->SetValue("foo"); m_text->SetValue("foo");
WX_ASSERT_STR_EQUAL( "foo", m_text->GetValue() ); CPPUNIT_ASSERT_EQUAL( "foo", m_text->GetValue() );
m_text->SetValue(""); m_text->SetValue("");
CPPUNIT_ASSERT( m_text->IsEmpty() ); CPPUNIT_ASSERT( m_text->IsEmpty() );
m_text->SetValue("hi"); m_text->SetValue("hi");
WX_ASSERT_STR_EQUAL( "hi", m_text->GetValue() ); CPPUNIT_ASSERT_EQUAL( "hi", m_text->GetValue() );
m_text->SetValue("bye"); m_text->SetValue("bye");
WX_ASSERT_STR_EQUAL( "bye", m_text->GetValue() ); CPPUNIT_ASSERT_EQUAL( "bye", m_text->GetValue() );
} }
void TextCtrlTestCase::TextChangeEvents() void TextCtrlTestCase::TextChangeEvents()

View File

@@ -764,11 +764,11 @@ void DateTimeTestCase::TestTimeTicks()
long ticks = (dt.GetValue() / 1000).ToLong() + TZ_LOCAL.GetOffset(); long ticks = (dt.GetValue() / 1000).ToLong() + TZ_LOCAL.GetOffset();
if ( dt.IsDST() ) if ( dt.IsDST() )
ticks += 3600; ticks += 3600;
WX_ASSERT_TIME_T_EQUAL( d.gmticks, ticks + tzOffset ); CPPUNIT_ASSERT_EQUAL( d.gmticks, ticks + tzOffset );
dt = d.DT().FromTimezone(wxDateTime::UTC); dt = d.DT().FromTimezone(wxDateTime::UTC);
ticks = (dt.GetValue() / 1000).ToLong(); ticks = (dt.GetValue() / 1000).ToLong();
WX_ASSERT_TIME_T_EQUAL( d.gmticks, ticks ); CPPUNIT_ASSERT_EQUAL( d.gmticks, ticks );
} }
} }

View File

@@ -347,7 +347,7 @@ void FileNameTestCase::TestNormalize()
); );
// compare result with expected string // compare result with expected string
WX_ASSERT_STR_EQUAL( fnt.expected, fn.GetFullPath(fnt.fmt) ); CPPUNIT_ASSERT_EQUAL( fnt.expected, fn.GetFullPath(fnt.fmt) );
} }
} }

View File

@@ -112,8 +112,8 @@ void FontMapperTestCase::NamesAndDesc()
for ( size_t n = 0; n < WXSIZEOF(charsets); n++ ) for ( size_t n = 0; n < WXSIZEOF(charsets); n++ )
{ {
wxFontEncoding enc = fmap.CharsetToEncoding(charsets[n]); wxFontEncoding enc = fmap.CharsetToEncoding(charsets[n]);
WX_ASSERT_STR_EQUAL( names[n], fmap.GetEncodingName(enc).Lower() ); CPPUNIT_ASSERT_EQUAL( names[n], fmap.GetEncodingName(enc).Lower() );
WX_ASSERT_STR_EQUAL( descriptions[n], fmap.GetEncodingDescription(enc) ); CPPUNIT_ASSERT_EQUAL( descriptions[n], fmap.GetEncodingDescription(enc) );
} }
} }

View File

@@ -78,30 +78,30 @@ void IntlTestCase::tearDown()
void IntlTestCase::Domain() void IntlTestCase::Domain()
{ {
// _() searches all domains by default: // _() searches all domains by default:
WX_ASSERT_STR_EQUAL( "&Ouvrir un fichier", _("&Open bogus file") ); CPPUNIT_ASSERT_EQUAL( "&Ouvrir un fichier", _("&Open bogus file") );
// search in our domain only: // search in our domain only:
WX_ASSERT_STR_EQUAL( "&Ouvrir un fichier", wxGetTranslation("&Open bogus file", "internat") ); CPPUNIT_ASSERT_EQUAL( "&Ouvrir un fichier", wxGetTranslation("&Open bogus file", "internat") );
// search in a domain that doesn't have this string: // search in a domain that doesn't have this string:
WX_ASSERT_STR_EQUAL( "&Open bogus file", wxGetTranslation("&Open bogus file", "BogusDomain") ); CPPUNIT_ASSERT_EQUAL( "&Open bogus file", wxGetTranslation("&Open bogus file", "BogusDomain") );
} }
void IntlTestCase::Headers() void IntlTestCase::Headers()
{ {
WX_ASSERT_STR_EQUAL( "wxWindows 2.0 i18n sample", m_locale->GetHeaderValue("Project-Id-Version") ); CPPUNIT_ASSERT_EQUAL( "wxWindows 2.0 i18n sample", m_locale->GetHeaderValue("Project-Id-Version") );
WX_ASSERT_STR_EQUAL( "1999-01-13 18:19+0100", m_locale->GetHeaderValue("POT-Creation-Date") ); CPPUNIT_ASSERT_EQUAL( "1999-01-13 18:19+0100", m_locale->GetHeaderValue("POT-Creation-Date") );
WX_ASSERT_STR_EQUAL( "YEAR-MO-DA HO:MI+ZONE", m_locale->GetHeaderValue("PO-Revision-Date") ); CPPUNIT_ASSERT_EQUAL( "YEAR-MO-DA HO:MI+ZONE", m_locale->GetHeaderValue("PO-Revision-Date") );
WX_ASSERT_STR_EQUAL( "Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>", m_locale->GetHeaderValue("Last-Translator") ); CPPUNIT_ASSERT_EQUAL( "Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>", m_locale->GetHeaderValue("Last-Translator") );
WX_ASSERT_STR_EQUAL( "1.0", m_locale->GetHeaderValue("MIME-Version") ); CPPUNIT_ASSERT_EQUAL( "1.0", m_locale->GetHeaderValue("MIME-Version") );
WX_ASSERT_STR_EQUAL( "text/plain; charset=iso-8859-1", m_locale->GetHeaderValue("Content-Type") ); CPPUNIT_ASSERT_EQUAL( "text/plain; charset=iso-8859-1", m_locale->GetHeaderValue("Content-Type") );
WX_ASSERT_STR_EQUAL( "8bit", m_locale->GetHeaderValue("Content-Transfer-Encoding") ); CPPUNIT_ASSERT_EQUAL( "8bit", m_locale->GetHeaderValue("Content-Transfer-Encoding") );
// check that it fails with a bogus domain: // check that it fails with a bogus domain:
WX_ASSERT_STR_EQUAL( "", m_locale->GetHeaderValue("POT-Creation-Date", "Bogus") ); CPPUNIT_ASSERT_EQUAL( "", m_locale->GetHeaderValue("POT-Creation-Date", "Bogus") );
// and that it fails for nonexisting header: // and that it fails for nonexisting header:
WX_ASSERT_STR_EQUAL( "", m_locale->GetHeaderValue("X-Not-Here") ); CPPUNIT_ASSERT_EQUAL( "", m_locale->GetHeaderValue("X-Not-Here") );
} }
#endif // wxUSE_INTL #endif // wxUSE_INTL

View File

@@ -233,9 +233,9 @@ void ScopeGuardTestCase::BlockExitSetVar()
{ {
wxON_BLOCK_EXIT_SET(s, "bye"); wxON_BLOCK_EXIT_SET(s, "bye");
WX_ASSERT_STR_EQUAL( "hi", s ); CPPUNIT_ASSERT_EQUAL( "hi", s );
} }
WX_ASSERT_STR_EQUAL( "bye", s ); CPPUNIT_ASSERT_EQUAL( "bye", s );
ScopeGuardTestCase *p = this; ScopeGuardTestCase *p = this;
{ {

View File

@@ -58,7 +58,7 @@ private:
void DoTest(Stream& s) void DoTest(Stream& s)
{ {
s.PutC('x'); s.PutC('x');
WX_ASSERT_SIZET_EQUAL( 1, s.LastWrite() ); CPPUNIT_ASSERT_EQUAL( 1, s.LastWrite() );
s.SeekI(0); s.SeekI(0);
CPPUNIT_ASSERT_EQUAL( int('x'), s.GetC() ); CPPUNIT_ASSERT_EQUAL( int('x'), s.GetC() );

View File

@@ -95,19 +95,19 @@ void StdStringTestCase::StdConstructors()
s7(s3.begin(), s3.begin() + 8); s7(s3.begin(), s3.begin() + 8);
wxString s8(s1, 4, 8); wxString s8(s1, 4, 8);
WX_ASSERT_STR_EQUAL( _T("abcdefgh"), s1 ); CPPUNIT_ASSERT_EQUAL( _T("abcdefgh"), s1 );
CPPUNIT_ASSERT_EQUAL( s1, s2 ); CPPUNIT_ASSERT_EQUAL( s1, s2 );
WX_ASSERT_STR_EQUAL( _T("aaaaaaaa"), s4 ); CPPUNIT_ASSERT_EQUAL( _T("aaaaaaaa"), s4 );
WX_ASSERT_STR_EQUAL( _T("abcdefgh"), s5 ); CPPUNIT_ASSERT_EQUAL( _T("abcdefgh"), s5 );
CPPUNIT_ASSERT_EQUAL( s1, s6 ); CPPUNIT_ASSERT_EQUAL( s1, s6 );
CPPUNIT_ASSERT_EQUAL( s1, s7 ); CPPUNIT_ASSERT_EQUAL( s1, s7 );
WX_ASSERT_STR_EQUAL( _T("efgh"), s8 ); CPPUNIT_ASSERT_EQUAL( _T("efgh"), s8 );
const char *pc = s1.c_str(); const char *pc = s1.c_str();
WX_ASSERT_STR_EQUAL( "bcd", wxString(pc + 1, pc + 4) ); CPPUNIT_ASSERT_EQUAL( "bcd", wxString(pc + 1, pc + 4) );
const wchar_t *pw = s2.c_str(); const wchar_t *pw = s2.c_str();
WX_ASSERT_STR_EQUAL( "a", wxString(pw, pw + 1) ); CPPUNIT_ASSERT_EQUAL( "a", wxString(pw, pw + 1) );
} }
void StdStringTestCase::StdIterators() void StdStringTestCase::StdIterators()
@@ -133,20 +133,20 @@ void StdStringTestCase::StdAppend()
s5.append(1, (unsigned char)'y'); s5.append(1, (unsigned char)'y');
s6.append(s1.begin() + 3, s1.end()); s6.append(s1.begin() + 3, s1.end());
WX_ASSERT_STR_EQUAL( _T("abcdef"), s1 ); CPPUNIT_ASSERT_EQUAL( _T("abcdef"), s1 );
WX_ASSERT_STR_EQUAL( _T("abcdef"), s2 ); CPPUNIT_ASSERT_EQUAL( _T("abcdef"), s2 );
WX_ASSERT_STR_EQUAL( _T("abcdef"), s3 ); CPPUNIT_ASSERT_EQUAL( _T("abcdef"), s3 );
WX_ASSERT_STR_EQUAL( _T("abcabcdef"), s4 ); CPPUNIT_ASSERT_EQUAL( _T("abcabcdef"), s4 );
WX_ASSERT_STR_EQUAL( _T("abcaaaxxy"), s5 ); CPPUNIT_ASSERT_EQUAL( _T("abcaaaxxy"), s5 );
WX_ASSERT_STR_EQUAL( _T("abcdef"), s6 ); CPPUNIT_ASSERT_EQUAL( _T("abcdef"), s6 );
const char *pc = s1.c_str() + 2; const char *pc = s1.c_str() + 2;
s7.append(pc, pc + 4); s7.append(pc, pc + 4);
WX_ASSERT_STR_EQUAL( "cdef", s7 ); CPPUNIT_ASSERT_EQUAL( "cdef", s7 );
const wchar_t *pw = s2.c_str() + 2; const wchar_t *pw = s2.c_str() + 2;
s8.append(pw, pw + 4); s8.append(pw, pw + 4);
WX_ASSERT_STR_EQUAL( "cdef", s8 ); CPPUNIT_ASSERT_EQUAL( "cdef", s8 );
s7 = s8 = wxString(_T("null\0time"), 9); s7 = s8 = wxString(_T("null\0time"), 9);
@@ -169,23 +169,23 @@ void StdStringTestCase::StdAssign()
s5.assign(3, _T('a')); s5.assign(3, _T('a'));
s6.assign(s1.begin() + 1, s1.end()); s6.assign(s1.begin() + 1, s1.end());
WX_ASSERT_STR_EQUAL( _T("def"), s1 ); CPPUNIT_ASSERT_EQUAL( _T("def"), s1 );
WX_ASSERT_STR_EQUAL( _T("def"), s2 ); CPPUNIT_ASSERT_EQUAL( _T("def"), s2 );
WX_ASSERT_STR_EQUAL( _T("def"), s3 ); CPPUNIT_ASSERT_EQUAL( _T("def"), s3 );
WX_ASSERT_STR_EQUAL( _T("def"), s4 ); CPPUNIT_ASSERT_EQUAL( _T("def"), s4 );
WX_ASSERT_STR_EQUAL( _T("aaa"), s5 ); CPPUNIT_ASSERT_EQUAL( _T("aaa"), s5 );
WX_ASSERT_STR_EQUAL( _T("ef"), s6 ); CPPUNIT_ASSERT_EQUAL( _T("ef"), s6 );
const char *pc = s1.c_str(); const char *pc = s1.c_str();
s7.assign(pc, pc + 2); s7.assign(pc, pc + 2);
WX_ASSERT_STR_EQUAL( "de", s7 ); CPPUNIT_ASSERT_EQUAL( "de", s7 );
const wchar_t *pw = s1.c_str(); const wchar_t *pw = s1.c_str();
s8.assign(pw + 2, pw + 3); s8.assign(pw + 2, pw + 3);
WX_ASSERT_STR_EQUAL( "f", s8 ); CPPUNIT_ASSERT_EQUAL( "f", s8 );
s1.assign(s1, 1, 1); s1.assign(s1, 1, 1);
WX_ASSERT_STR_EQUAL("e", s1); CPPUNIT_ASSERT_EQUAL("e", s1);
} }
void StdStringTestCase::StdCompare() void StdStringTestCase::StdCompare()
@@ -228,11 +228,11 @@ void StdStringTestCase::StdErase()
wxString::iterator it2 = s4.erase(s4.begin() + 4, s4.begin() + 6); wxString::iterator it2 = s4.erase(s4.begin() + 4, s4.begin() + 6);
wxString::iterator it3 = s7.erase(s7.begin() + 4, s7.begin() + 8); wxString::iterator it3 = s7.erase(s7.begin() + 4, s7.begin() + 8);
WX_ASSERT_STR_EQUAL( _T("acdefgh"), s1 ); CPPUNIT_ASSERT_EQUAL( _T("acdefgh"), s1 );
WX_ASSERT_STR_EQUAL( _T("abcd"), s2 ); CPPUNIT_ASSERT_EQUAL( _T("abcd"), s2 );
WX_ASSERT_STR_EQUAL( _T("ac"), s3 ); CPPUNIT_ASSERT_EQUAL( _T("ac"), s3 );
WX_ASSERT_STR_EQUAL( _T("abcdghi"), s4 ); CPPUNIT_ASSERT_EQUAL( _T("abcdghi"), s4 );
WX_ASSERT_STR_EQUAL( _T("zabc"), s7 ); CPPUNIT_ASSERT_EQUAL( _T("zabc"), s7 );
CPPUNIT_ASSERT( *it == _T('c') ); CPPUNIT_ASSERT( *it == _T('c') );
CPPUNIT_ASSERT( *it2 == _T('g') ); CPPUNIT_ASSERT( *it2 == _T('g') );
CPPUNIT_ASSERT( it3 == s7.end() ); CPPUNIT_ASSERT( it3 == s7.end() );
@@ -383,21 +383,21 @@ void StdStringTestCase::StdInsert()
s7.insert(s7.begin(), s9.begin(), s9.end() - 1); s7.insert(s7.begin(), s9.begin(), s9.end() - 1);
s8.insert(s8.begin(), 2, _T('c')); s8.insert(s8.begin(), 2, _T('c'));
WX_ASSERT_STR_EQUAL( _T("accaaa") , s1 ); CPPUNIT_ASSERT_EQUAL( _T("accaaa") , s1 );
WX_ASSERT_STR_EQUAL( _T("aacdeaa") , s2 ); CPPUNIT_ASSERT_EQUAL( _T("aacdeaa") , s2 );
WX_ASSERT_STR_EQUAL( _T("aacdefgaa"), s3 ); CPPUNIT_ASSERT_EQUAL( _T("aacdefgaa"), s3 );
WX_ASSERT_STR_EQUAL( _T("aafgaa") , s4 ); CPPUNIT_ASSERT_EQUAL( _T("aafgaa") , s4 );
WX_ASSERT_STR_EQUAL( _T("accaaa") , s5 ); CPPUNIT_ASSERT_EQUAL( _T("accaaa") , s5 );
WX_ASSERT_STR_EQUAL( _T("aaaXa") , s6 ); CPPUNIT_ASSERT_EQUAL( _T("aaaXa") , s6 );
WX_ASSERT_STR_EQUAL( _T("cdefaaaa") , s7 ); CPPUNIT_ASSERT_EQUAL( _T("cdefaaaa") , s7 );
WX_ASSERT_STR_EQUAL( _T("ccaaaa") , s8 ); CPPUNIT_ASSERT_EQUAL( _T("ccaaaa") , s8 );
s1 = s2 = s3 = _T("aaaa"); s1 = s2 = s3 = _T("aaaa");
s1.insert(0, _T("ccc"), 2); s1.insert(0, _T("ccc"), 2);
s2.insert(4, _T("ccc"), 2); s2.insert(4, _T("ccc"), 2);
WX_ASSERT_STR_EQUAL( _T("ccaaaa"), s1 ); CPPUNIT_ASSERT_EQUAL( _T("ccaaaa"), s1 );
WX_ASSERT_STR_EQUAL( _T("aaaacc"), s2 ); CPPUNIT_ASSERT_EQUAL( _T("aaaacc"), s2 );
} }
void StdStringTestCase::StdReplace() void StdStringTestCase::StdReplace()
@@ -416,13 +416,13 @@ void StdStringTestCase::StdReplace()
s6.replace(0, 123, s9, 0, 123); s6.replace(0, 123, s9, 0, 123);
s7.replace(2, 7, s9); s7.replace(2, 7, s9);
WX_ASSERT_STR_EQUAL( _T("QWErtyuIopopop"), s1 ); CPPUNIT_ASSERT_EQUAL( _T("QWErtyuIopopop"), s1 );
WX_ASSERT_STR_EQUAL( _T("QWERTYUIOPWWWW"), s2 ); CPPUNIT_ASSERT_EQUAL( _T("QWERTYUIOPWWWW"), s2 );
WX_ASSERT_STR_EQUAL( _T("QwertyUIOP") , s3 ); CPPUNIT_ASSERT_EQUAL( _T("QwertyUIOP") , s3 );
WX_ASSERT_STR_EQUAL( _T("QwertYUIOP") , s4 ); CPPUNIT_ASSERT_EQUAL( _T("QwertYUIOP") , s4 );
WX_ASSERT_STR_EQUAL( _T("QertyRTYUIOP") , s5 ); CPPUNIT_ASSERT_EQUAL( _T("QertyRTYUIOP") , s5 );
CPPUNIT_ASSERT_EQUAL( s9, s6 ); CPPUNIT_ASSERT_EQUAL( s9, s6 );
WX_ASSERT_STR_EQUAL( _T("QWwertyP"), s7 ); CPPUNIT_ASSERT_EQUAL( _T("QWwertyP"), s7 );
} }
void StdStringTestCase::StdRFind() void StdStringTestCase::StdRFind()
@@ -484,15 +484,15 @@ void StdStringTestCase::StdResize()
s3.resize( 14, _T(' ') ); s3.resize( 14, _T(' ') );
s4.resize( 14, _T('W') ); s4.resize( 14, _T('W') );
WX_ASSERT_STR_EQUAL( _T("abcABCdefDEF"), s1 ); CPPUNIT_ASSERT_EQUAL( _T("abcABCdefDEF"), s1 );
WX_ASSERT_STR_EQUAL( _T("abcABCdefD"), s2 ); CPPUNIT_ASSERT_EQUAL( _T("abcABCdefD"), s2 );
WX_ASSERT_STR_EQUAL( _T("abcABCdefDEF "), s3 ); CPPUNIT_ASSERT_EQUAL( _T("abcABCdefDEF "), s3 );
WX_ASSERT_STR_EQUAL( _T("abcABCdefDEFWW"), s4 ); CPPUNIT_ASSERT_EQUAL( _T("abcABCdefDEFWW"), s4 );
wxString s = wxString s =
wxString::FromUTF8("\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82"); wxString::FromUTF8("\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82");
s.resize(3); s.resize(3);
WX_ASSERT_STR_EQUAL("\xd0\x9f\xd1\x80\xd0\xb8", s); CPPUNIT_ASSERT_EQUAL("\xd0\x9f\xd1\x80\xd0\xb8", s);
} }
void StdStringTestCase::StdRiter() void StdStringTestCase::StdRiter()
@@ -546,16 +546,16 @@ void StdStringTestCase::StdConversion()
wxStdWideString strStdWide(L"std::wstring value"); wxStdWideString strStdWide(L"std::wstring value");
wxString s1(strStd); wxString s1(strStd);
WX_ASSERT_STR_EQUAL( "std::string value", s1 ); CPPUNIT_ASSERT_EQUAL( "std::string value", s1 );
wxString s2(strStdWide); wxString s2(strStdWide);
WX_ASSERT_STR_EQUAL( "std::wstring value", s2 ); CPPUNIT_ASSERT_EQUAL( "std::wstring value", s2 );
wxString s3; wxString s3;
s3 = strStd; s3 = strStd;
WX_ASSERT_STR_EQUAL( "std::string value", s3 ); CPPUNIT_ASSERT_EQUAL( "std::string value", s3 );
s3 = strStdWide; s3 = strStdWide;
WX_ASSERT_STR_EQUAL( "std::wstring value", s3 ); CPPUNIT_ASSERT_EQUAL( "std::wstring value", s3 );
wxString s4("hello"); wxString s4("hello");
@@ -563,10 +563,10 @@ void StdStringTestCase::StdConversion()
// because it conflicts with conversion to const char*/wchar_t*: // because it conflicts with conversion to const char*/wchar_t*:
#if wxUSE_STL #if wxUSE_STL
std::string s5 = s4; std::string s5 = s4;
WX_ASSERT_STR_EQUAL( "hello", s5 ); CPPUNIT_ASSERT_EQUAL( "hello", s5 );
wxStdWideString s6 = s4; wxStdWideString s6 = s4;
WX_ASSERT_STR_EQUAL( "hello", s6 ); CPPUNIT_ASSERT_EQUAL( "hello", s6 );
#endif #endif
std::string s7(s4); std::string s7(s4);

View File

@@ -161,48 +161,48 @@ void StringTestCase::Format()
void StringTestCase::Constructors() void StringTestCase::Constructors()
{ {
WX_ASSERT_STR_EQUAL( "", wxString('Z', 0) ); CPPUNIT_ASSERT_EQUAL( "", wxString('Z', 0) );
WX_ASSERT_STR_EQUAL( "Z", wxString('Z') ); CPPUNIT_ASSERT_EQUAL( "Z", wxString('Z') );
WX_ASSERT_STR_EQUAL( "ZZZZ", wxString('Z', 4) ); CPPUNIT_ASSERT_EQUAL( "ZZZZ", wxString('Z', 4) );
WX_ASSERT_STR_EQUAL( "Hell", wxString("Hello", 4) ); CPPUNIT_ASSERT_EQUAL( "Hell", wxString("Hello", 4) );
WX_ASSERT_STR_EQUAL( "Hello", wxString("Hello", 5) ); CPPUNIT_ASSERT_EQUAL( "Hello", wxString("Hello", 5) );
#if wxUSE_UNICODE #if wxUSE_UNICODE
WX_ASSERT_STR_EQUAL( L"", wxString(L'Z', 0) ); CPPUNIT_ASSERT_EQUAL( L"", wxString(L'Z', 0) );
WX_ASSERT_STR_EQUAL( L"Z", wxString(L'Z') ); CPPUNIT_ASSERT_EQUAL( L"Z", wxString(L'Z') );
WX_ASSERT_STR_EQUAL( L"ZZZZ", wxString(L'Z', 4) ); CPPUNIT_ASSERT_EQUAL( L"ZZZZ", wxString(L'Z', 4) );
WX_ASSERT_STR_EQUAL( L"Hell", wxString(L"Hello", 4) ); CPPUNIT_ASSERT_EQUAL( L"Hell", wxString(L"Hello", 4) );
WX_ASSERT_STR_EQUAL( L"Hello", wxString(L"Hello", 5) ); CPPUNIT_ASSERT_EQUAL( L"Hello", wxString(L"Hello", 5) );
#endif // wxUSE_UNICODE #endif // wxUSE_UNICODE
static const char *s = "?really!"; static const char *s = "?really!";
const char *start = wxStrchr(s, 'r'); const char *start = wxStrchr(s, 'r');
const char *end = wxStrchr(s, '!'); const char *end = wxStrchr(s, '!');
WX_ASSERT_STR_EQUAL( "really", wxString(start, end) ); CPPUNIT_ASSERT_EQUAL( "really", wxString(start, end) );
// test if creating string from NULL C pointer works: // test if creating string from NULL C pointer works:
WX_ASSERT_STR_EQUAL( "", wxString((const char *)NULL) ); CPPUNIT_ASSERT_EQUAL( "", wxString((const char *)NULL) );
} }
void StringTestCase::StaticConstructors() void StringTestCase::StaticConstructors()
{ {
WX_ASSERT_STR_EQUAL( "", wxString::FromAscii("") ); CPPUNIT_ASSERT_EQUAL( "", wxString::FromAscii("") );
WX_ASSERT_STR_EQUAL( "", wxString::FromAscii("Hello", 0) ); CPPUNIT_ASSERT_EQUAL( "", wxString::FromAscii("Hello", 0) );
WX_ASSERT_STR_EQUAL( "Hell", wxString::FromAscii("Hello", 4) ); CPPUNIT_ASSERT_EQUAL( "Hell", wxString::FromAscii("Hello", 4) );
WX_ASSERT_STR_EQUAL( "Hello", wxString::FromAscii("Hello", 5) ); CPPUNIT_ASSERT_EQUAL( "Hello", wxString::FromAscii("Hello", 5) );
WX_ASSERT_STR_EQUAL( "Hello", wxString::FromAscii("Hello") ); CPPUNIT_ASSERT_EQUAL( "Hello", wxString::FromAscii("Hello") );
// FIXME: this doesn't work currently but should! // FIXME: this doesn't work currently but should!
//WX_ASSERT_SIZET_EQUAL( 1, wxString::FromAscii("", 1).length() ); //CPPUNIT_ASSERT_EQUAL( 1, wxString::FromAscii("", 1).length() );
WX_ASSERT_STR_EQUAL( "", wxString::FromUTF8("") ); CPPUNIT_ASSERT_EQUAL( "", wxString::FromUTF8("") );
WX_ASSERT_STR_EQUAL( "", wxString::FromUTF8("Hello", 0) ); CPPUNIT_ASSERT_EQUAL( "", wxString::FromUTF8("Hello", 0) );
WX_ASSERT_STR_EQUAL( "Hell", wxString::FromUTF8("Hello", 4) ); CPPUNIT_ASSERT_EQUAL( "Hell", wxString::FromUTF8("Hello", 4) );
WX_ASSERT_STR_EQUAL( "Hello", wxString::FromUTF8("Hello", 5) ); CPPUNIT_ASSERT_EQUAL( "Hello", wxString::FromUTF8("Hello", 5) );
WX_ASSERT_STR_EQUAL( "Hello", wxString::FromUTF8("Hello") ); CPPUNIT_ASSERT_EQUAL( "Hello", wxString::FromUTF8("Hello") );
//WX_ASSERT_SIZET_EQUAL( 1, wxString::FromUTF8("", 1).length() ); //CPPUNIT_ASSERT_EQUAL( 1, wxString::FromUTF8("", 1).length() );
} }
void StringTestCase::Extraction() void StringTestCase::Extraction()
@@ -230,7 +230,7 @@ void StringTestCase::Extraction()
#define TEST_STARTS_WITH(prefix, correct_rest, result) \ #define TEST_STARTS_WITH(prefix, correct_rest, result) \
CPPUNIT_ASSERT_EQUAL(result, s.StartsWith(prefix, &rest)); \ CPPUNIT_ASSERT_EQUAL(result, s.StartsWith(prefix, &rest)); \
if ( result ) \ if ( result ) \
WX_ASSERT_STR_EQUAL(correct_rest, rest) CPPUNIT_ASSERT_EQUAL(correct_rest, rest)
TEST_STARTS_WITH( _T("Hello"), _T(", world!"), true ); TEST_STARTS_WITH( _T("Hello"), _T(", world!"), true );
TEST_STARTS_WITH( _T("Hello, "), _T("world!"), true ); TEST_STARTS_WITH( _T("Hello, "), _T("world!"), true );
@@ -244,12 +244,12 @@ void StringTestCase::Extraction()
rest = "Hello world"; rest = "Hello world";
CPPUNIT_ASSERT( rest.StartsWith("Hello ", &rest) ); CPPUNIT_ASSERT( rest.StartsWith("Hello ", &rest) );
WX_ASSERT_STR_EQUAL("world", rest); CPPUNIT_ASSERT_EQUAL("world", rest);
#define TEST_ENDS_WITH(suffix, correct_rest, result) \ #define TEST_ENDS_WITH(suffix, correct_rest, result) \
CPPUNIT_ASSERT_EQUAL(result, s.EndsWith(suffix, &rest)); \ CPPUNIT_ASSERT_EQUAL(result, s.EndsWith(suffix, &rest)); \
if ( result ) \ if ( result ) \
WX_ASSERT_STR_EQUAL(correct_rest, rest) CPPUNIT_ASSERT_EQUAL(correct_rest, rest)
TEST_ENDS_WITH( _T(""), _T("Hello, world!"), true ); TEST_ENDS_WITH( _T(""), _T("Hello, world!"), true );
TEST_ENDS_WITH( _T("!"), _T("Hello, world"), true ); TEST_ENDS_WITH( _T("!"), _T("Hello, world"), true );
@@ -300,7 +300,7 @@ void StringTestCase::Replace()
{ \ { \
wxString s = original; \ wxString s = original; \
s.replace( pos , len , replacement ); \ s.replace( pos , len , replacement ); \
WX_ASSERT_STR_EQUAL( result, s ); \ CPPUNIT_ASSERT_EQUAL( result, s ); \
} }
TEST_REPLACE( _T("012-AWORD-XYZ"), 4, 5, _T("BWORD"), _T("012-BWORD-XYZ") ); TEST_REPLACE( _T("012-AWORD-XYZ"), 4, 5, _T("BWORD"), _T("012-BWORD-XYZ") );
@@ -667,7 +667,7 @@ void StringTestCase::StringBuf()
wxString s; wxString s;
wxStrcpy(wxStringBuffer(s, 10), _T("foo")); wxStrcpy(wxStringBuffer(s, 10), _T("foo"));
WX_ASSERT_SIZET_EQUAL(3, s.length()); CPPUNIT_ASSERT_EQUAL(3, s.length());
CPPUNIT_ASSERT(_T('f') == s[0u]); CPPUNIT_ASSERT(_T('f') == s[0u]);
CPPUNIT_ASSERT(_T('o') == s[1]); CPPUNIT_ASSERT(_T('o') == s[1]);
CPPUNIT_ASSERT(_T('o') == s[2]); CPPUNIT_ASSERT(_T('o') == s[2]);
@@ -695,7 +695,7 @@ void StringTestCase::StringBuf()
buf.SetLength(4); buf.SetLength(4);
} }
WX_ASSERT_SIZET_EQUAL(4, s.length()); CPPUNIT_ASSERT_EQUAL(4, s.length());
CPPUNIT_ASSERT(_T('b') == s[0u]); CPPUNIT_ASSERT(_T('b') == s[0u]);
CPPUNIT_ASSERT(_T('a') == s[1]); CPPUNIT_ASSERT(_T('a') == s[1]);
CPPUNIT_ASSERT(_T('r') == s[2]); CPPUNIT_ASSERT(_T('r') == s[2]);

View File

@@ -198,13 +198,13 @@ void UnicodeTestCase::ConstructorsWithConversion()
#if wxUSE_UNICODE #if wxUSE_UNICODE
const wchar_t wchar[] = {0x44,0xE9,0x6A,0xE0,0}; const wchar_t wchar[] = {0x44,0xE9,0x6A,0xE0,0};
WX_ASSERT_STR_EQUAL( wchar, s1 ); CPPUNIT_ASSERT_EQUAL( wchar, s1 );
wxString s2(wchar); wxString s2(wchar);
WX_ASSERT_STR_EQUAL( wchar, s2 ); CPPUNIT_ASSERT_EQUAL( wchar, s2 );
WX_ASSERT_STR_EQUAL( utf8, s2 ); CPPUNIT_ASSERT_EQUAL( utf8, s2 );
#else #else
WX_ASSERT_STR_EQUAL( utf8, s1 ); CPPUNIT_ASSERT_EQUAL( utf8, s1 );
#endif #endif
wxString sub(utf8sub, wxConvUTF8); // "Dej" substring wxString sub(utf8sub, wxConvUTF8); // "Dej" substring
@@ -224,12 +224,12 @@ void UnicodeTestCase::ConstructorsWithConversion()
// test using Unicode strings together with char* strings (this must work // test using Unicode strings together with char* strings (this must work
// in ANSI mode as well, of course): // in ANSI mode as well, of course):
wxString s5("ascii"); wxString s5("ascii");
WX_ASSERT_STR_EQUAL( "ascii", s5 ); CPPUNIT_ASSERT_EQUAL( "ascii", s5 );
s5 += " value"; s5 += " value";
CPPUNIT_ASSERT( strcmp(s5.mb_str(), "ascii value") == 0 ); CPPUNIT_ASSERT( strcmp(s5.mb_str(), "ascii value") == 0 );
WX_ASSERT_STR_EQUAL( "ascii value", s5 ); CPPUNIT_ASSERT_EQUAL( "ascii value", s5 );
CPPUNIT_ASSERT( s5 != "SomethingElse" ); CPPUNIT_ASSERT( s5 != "SomethingElse" );
} }

View File

@@ -102,16 +102,16 @@ void VarArgTestCase::CharPrintf()
// test using wchar_t: // test using wchar_t:
s.Printf("char=%c", L'c'); s.Printf("char=%c", L'c');
WX_ASSERT_STR_EQUAL( "char=c", s ); CPPUNIT_ASSERT_EQUAL( "char=c", s );
// test wxUniCharRef: // test wxUniCharRef:
s.Printf("string[1] is %c", foo[1]); s.Printf("string[1] is %c", foo[1]);
WX_ASSERT_STR_EQUAL( "string[1] is o", s ); CPPUNIT_ASSERT_EQUAL( "string[1] is o", s );
// test char // test char
char c = 'z'; char c = 'z';
s.Printf("%c to %c", 'a', c); s.Printf("%c to %c", 'a', c);
WX_ASSERT_STR_EQUAL( "a to z", s ); CPPUNIT_ASSERT_EQUAL( "a to z", s );
// test char used as integer: // test char used as integer:
#ifdef _MSC_VER #ifdef _MSC_VER
@@ -124,11 +124,11 @@ void VarArgTestCase::CharPrintf()
#pragma warning(default:4309) #pragma warning(default:4309)
#endif #endif
s.Printf("value is %i (int)", c); s.Printf("value is %i (int)", c);
WX_ASSERT_STR_EQUAL( wxString("value is -16 (int)"), s ); CPPUNIT_ASSERT_EQUAL( wxString("value is -16 (int)"), s );
unsigned char u = 240; unsigned char u = 240;
s.Printf("value is %i (int)", u); s.Printf("value is %i (int)", u);
WX_ASSERT_STR_EQUAL( wxString("value is 240 (int)"), s ); CPPUNIT_ASSERT_EQUAL( "value is 240 (int)", s );
} }
#if wxUSE_STD_STRING #if wxUSE_STD_STRING
@@ -141,10 +141,10 @@ void VarArgTestCase::StdString()
std::string wc("widechar"); std::string wc("widechar");
s.Printf("string %s(%i).", mb, 1); s.Printf("string %s(%i).", mb, 1);
CPPUNIT_ASSERT( s == "string multi-byte(1)." ); CPPUNIT_ASSERT_EQUAL( "string multi-byte(1).", s );
s.Printf("string %s(%i).", wc, 2); s.Printf("string %s(%i).", wc, 2);
CPPUNIT_ASSERT( s == "string widechar(2)." ); CPPUNIT_ASSERT_EQUAL( "string widechar(2).", s );
} }
#endif // wxUSE_STD_STRING #endif // wxUSE_STD_STRING

View File

@@ -206,7 +206,7 @@ void VectorsTestCase::Objects()
v.push_back(CountedObject(3)); v.push_back(CountedObject(3));
v.erase(v.begin()); v.erase(v.begin());
WX_ASSERT_SIZET_EQUAL( 2, v.size() ); CPPUNIT_ASSERT_EQUAL( 2, v.size() );
CPPUNIT_ASSERT_EQUAL( 2, CountedObject::GetCount() ); CPPUNIT_ASSERT_EQUAL( 2, CountedObject::GetCount() );
v.clear(); v.clear();

View File

@@ -46,7 +46,7 @@ void CheckXml(wxXmlNode *n, ...)
break; break;
CPPUNIT_ASSERT( child ); CPPUNIT_ASSERT( child );
WX_ASSERT_STR_EQUAL( childName, child->GetName() ); CPPUNIT_ASSERT_EQUAL( childName, child->GetName() );
CPPUNIT_ASSERT( child->GetChildren() == NULL ); CPPUNIT_ASSERT( child->GetChildren() == NULL );
CPPUNIT_ASSERT( child->GetParent() == n ); CPPUNIT_ASSERT( child->GetParent() == n );