diff --git a/tests/xml/xrctest.cpp b/tests/xml/xrctest.cpp index 0ac2599ca2..4aff56711a 100644 --- a/tests/xml/xrctest.cpp +++ b/tests/xml/xrctest.cpp @@ -119,110 +119,88 @@ void CreateXrc() // So save it as a file, from which it can be loaded wxStringInputStream sis(xrcText); wxFFileOutputStream fos(TEST_XRC_FILE); - CPPUNIT_ASSERT(fos.IsOk()); + REQUIRE(fos.IsOk()); fos.Write(sis); - CPPUNIT_ASSERT(fos.Close()); + REQUIRE(fos.Close()); } } // anon namespace // ---------------------------------------------------------------------------- -// test class +// test fixture and the tests using it // ---------------------------------------------------------------------------- -class XrcTestCase : public CppUnit::TestCase +class XrcTestCase { public: - XrcTestCase() {} - - virtual void setUp() wxOVERRIDE { CreateXrc(); } - virtual void tearDown() wxOVERRIDE { wxRemoveFile(TEST_XRC_FILE); } + XrcTestCase() { CreateXrc(); } + ~XrcTestCase() { wxRemoveFile(TEST_XRC_FILE); } private: - CPPUNIT_TEST_SUITE( XrcTestCase ); - CPPUNIT_TEST( ObjectReferences ); - CPPUNIT_TEST( IDRanges ); - CPPUNIT_TEST_SUITE_END(); - - void ObjectReferences(); - void IDRanges(); - wxDECLARE_NO_COPY_CLASS(XrcTestCase); }; -// register in the unnamed registry so that these tests are run by default -CPPUNIT_TEST_SUITE_REGISTRATION( XrcTestCase ); - -// also include in its own registry so that these tests can be run alone -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( XrcTestCase, "XrcTestCase" ); - - - -void XrcTestCase::ObjectReferences() +TEST_CASE_METHOD(XrcTestCase, "XRC::ObjectReferences", "[xrc]") { wxXmlResource::Get()->InitAllHandlers(); for ( int n = 0; n < 2; ++n ) { // Load the xrc file we're just created - CPPUNIT_ASSERT( wxXmlResource::Get()->Load(TEST_XRC_FILE) ); + REQUIRE( wxXmlResource::Get()->Load(TEST_XRC_FILE) ); // In xrc there's now a dialog containing two panels, one an object // reference of the other wxDialog dlg; - CPPUNIT_ASSERT( wxXmlResource::Get()->LoadDialog(&dlg, NULL, "dialog") ); + REQUIRE( wxXmlResource::Get()->LoadDialog(&dlg, NULL, "dialog") ); // Might as well test XRCCTRL too wxPanel* panel1 = XRCCTRL(dlg,"panel1",wxPanel); wxPanel* panel2 = XRCCTRL(dlg,"ref_of_panel1",wxPanel); // Check that the object reference panel is a different object - CPPUNIT_ASSERT( panel2 != panel1 ); + CHECK( panel2 != panel1 ); // Unload the xrc, so it can be reloaded and the test rerun - CPPUNIT_ASSERT( wxXmlResource::Get()->Unload(TEST_XRC_FILE) ); + CHECK( wxXmlResource::Get()->Unload(TEST_XRC_FILE) ); } } -void XrcTestCase::IDRanges() +TEST_CASE_METHOD(XrcTestCase, "XRC::IDRanges", "[xrc]") { // Tests ID ranges for ( int n = 0; n < 2; ++n ) { // Load the xrc file we're just created - CPPUNIT_ASSERT( wxXmlResource::Get()->Load(TEST_XRC_FILE) ); + REQUIRE( wxXmlResource::Get()->Load(TEST_XRC_FILE) ); // foo[start] should == foo[0] - CPPUNIT_ASSERT_EQUAL( XRCID("SecondCol[start]"), XRCID("SecondCol[0]") ); + CHECK( XRCID("SecondCol[start]") == XRCID("SecondCol[0]") ); // foo[start] should be < foo[end]. Usually that means more negative - CPPUNIT_ASSERT( XRCID("SecondCol[start]") < XRCID("SecondCol[end]") ); + CHECK( XRCID("SecondCol[start]") < XRCID("SecondCol[end]") ); // Check it works for the positive values in FirstCol too - CPPUNIT_ASSERT( XRCID("FirstCol[start]") < XRCID("FirstCol[end]") ); + CHECK( XRCID("FirstCol[start]") < XRCID("FirstCol[end]") ); // Check that values are adjacent - CPPUNIT_ASSERT_EQUAL( XRCID("SecondCol[0]")+1, XRCID("SecondCol[1]") ); - CPPUNIT_ASSERT_EQUAL( XRCID("SecondCol[1]")+1, XRCID("SecondCol[2]") ); + CHECK( XRCID("SecondCol[0]")+1 == XRCID("SecondCol[1]") ); + CHECK( XRCID("SecondCol[1]")+1 == XRCID("SecondCol[2]") ); // And for the positive range - CPPUNIT_ASSERT_EQUAL( XRCID("FirstCol[2]")+1, XRCID("FirstCol[3]") ); + CHECK( XRCID("FirstCol[2]")+1 == XRCID("FirstCol[3]") ); // Check that a large-enough range was created, despite the small // 'size' parameter - CPPUNIT_ASSERT_EQUAL - ( - 4, - XRCID("FirstCol[end]") - XRCID("FirstCol[start]") + 1 - ); + CHECK( XRCID("FirstCol[end]") - XRCID("FirstCol[start]") + 1 == 4 ); // Check that the far-too-large size range worked off the scale too - CPPUNIT_ASSERT( XRCID("SecondCol[start]") < XRCID("SecondCol[90]") ); - CPPUNIT_ASSERT( XRCID("SecondCol[90]") < XRCID("SecondCol[end]") ); - CPPUNIT_ASSERT_EQUAL( XRCID("SecondCol[90]")+1, XRCID("SecondCol[91]") ); + CHECK( XRCID("SecondCol[start]") < XRCID("SecondCol[90]") ); + CHECK( XRCID("SecondCol[90]") < XRCID("SecondCol[end]") ); + CHECK( XRCID("SecondCol[90]")+1 == XRCID("SecondCol[91]") ); // Check that the positive range-start parameter worked, even after a // reload - CPPUNIT_ASSERT_EQUAL( XRCID("FirstCol[start]"), 10000 ); + CHECK( XRCID("FirstCol[start]") == 10000 ); // Unload the xrc, so it can be reloaded and the tests rerun - CPPUNIT_ASSERT( wxXmlResource::Get()->Unload(TEST_XRC_FILE) ); + CHECK( wxXmlResource::Get()->Unload(TEST_XRC_FILE) ); } }