added wxStaticCast() unit test

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-03-22 21:04:28 +00:00
parent 50e08f9d2f
commit cc14bd0058

View File

@@ -20,6 +20,10 @@
#include "wx/defs.h" #include "wx/defs.h"
// just some classes using wxRTTI for wxStaticCast() test
#include "wx/tarstrm.h"
#include "wx/zipstrm.h"
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// test class // test class
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -33,10 +37,12 @@ private:
CPPUNIT_TEST_SUITE( MiscTestCase ); CPPUNIT_TEST_SUITE( MiscTestCase );
CPPUNIT_TEST( Assert ); CPPUNIT_TEST( Assert );
CPPUNIT_TEST( Delete ); CPPUNIT_TEST( Delete );
CPPUNIT_TEST( StaticCast );
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
void Assert(); void Assert();
void Delete(); void Delete();
void StaticCast();
DECLARE_NO_COPY_CLASS(MiscTestCase) DECLARE_NO_COPY_CLASS(MiscTestCase)
}; };
@@ -93,3 +99,19 @@ void MiscTestCase::Delete()
#endif #endif
} }
void MiscTestCase::StaticCast()
{
wxTarEntry tarEntry;
CPPUNIT_ASSERT( wxStaticCast(&tarEntry, wxArchiveEntry) );
wxArchiveEntry *entry = &tarEntry;
CPPUNIT_ASSERT( wxStaticCast(entry, wxTarEntry) );
wxZipEntry zipEntry;
entry = &zipEntry;
CPPUNIT_ASSERT( wxStaticCast(entry, wxZipEntry) );
WX_ASSERT_FAILS_WITH_ASSERT( wxStaticCast(entry, wxTarEntry) );
WX_ASSERT_FAILS_WITH_ASSERT( wxStaticCast(&zipEntry, wxTarEntry) );
}