]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxStaticCast() unit test
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 22 Mar 2009 21:04:28 +0000 (21:04 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 22 Mar 2009 21:04:28 +0000 (21:04 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

tests/misc/misctests.cpp

index 3ead0b38ecbcf0ace7f63cbf4b69792fceef2ed1..9e42f1cca36810cc62712690489c665a3b2503ef 100644 (file)
 
 #include "wx/defs.h"
 
+// just some classes using wxRTTI for wxStaticCast() test
+#include "wx/tarstrm.h"
+#include "wx/zipstrm.h"
+
 // ----------------------------------------------------------------------------
 // test class
 // ----------------------------------------------------------------------------
@@ -33,10 +37,12 @@ private:
     CPPUNIT_TEST_SUITE( MiscTestCase );
         CPPUNIT_TEST( Assert );
         CPPUNIT_TEST( Delete );
+        CPPUNIT_TEST( StaticCast );
     CPPUNIT_TEST_SUITE_END();
 
     void Assert();
     void Delete();
+    void StaticCast();
 
     DECLARE_NO_COPY_CLASS(MiscTestCase)
 };
@@ -93,3 +99,19 @@ void MiscTestCase::Delete()
 #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) );
+}
+