Get rid of CppUnit boilerplate in numeric validator unit tests

No real changes, just drop CppUnit::TestCase inheritance and the legacy
macros and use TEST_CASE_METHOD() instead.
This commit is contained in:
Vadim Zeitlin
2021-02-21 00:30:46 +01:00
parent 7eeab1bb7e
commit da973c3caf

View File

@@ -22,55 +22,29 @@
#include "testableframe.h" #include "testableframe.h"
#include "wx/uiaction.h" #include "wx/uiaction.h"
class NumValidatorTestCase : public CppUnit::TestCase class NumValidatorTestCase
{ {
public: public:
NumValidatorTestCase() { } NumValidatorTestCase();
~NumValidatorTestCase();
void setUp() wxOVERRIDE; protected:
void tearDown() wxOVERRIDE; wxTextCtrl* const m_text;
private:
CPPUNIT_TEST_SUITE( NumValidatorTestCase );
CPPUNIT_TEST( TransferInt );
CPPUNIT_TEST( TransferUnsigned );
CPPUNIT_TEST( TransferFloat );
CPPUNIT_TEST( ZeroAsBlank );
CPPUNIT_TEST( NoTrailingZeroes );
WXUISIM_TEST( Interactive );
CPPUNIT_TEST_SUITE_END();
void TransferInt();
void TransferUnsigned();
void TransferFloat();
void ZeroAsBlank();
void NoTrailingZeroes();
#if wxUSE_UIACTIONSIMULATOR
void Interactive();
#endif // wxUSE_UIACTIONSIMULATOR
wxTextCtrl *m_text;
wxDECLARE_NO_COPY_CLASS(NumValidatorTestCase); wxDECLARE_NO_COPY_CLASS(NumValidatorTestCase);
}; };
// register in the unnamed registry so that these tests are run by default NumValidatorTestCase::NumValidatorTestCase()
CPPUNIT_TEST_SUITE_REGISTRATION( NumValidatorTestCase ); : m_text(new wxTextCtrl(wxTheApp->GetTopWindow(), wxID_ANY))
// also include in its own registry so that these tests can be run alone
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( NumValidatorTestCase, "NumValidatorTestCase" );
void NumValidatorTestCase::setUp()
{ {
m_text = new wxTextCtrl(wxTheApp->GetTopWindow(), wxID_ANY);
} }
void NumValidatorTestCase::tearDown() NumValidatorTestCase::~NumValidatorTestCase()
{ {
wxTheApp->GetTopWindow()->DestroyChildren(); delete m_text;
} }
void NumValidatorTestCase::TransferInt() TEST_CASE_METHOD(NumValidatorTestCase, "ValNum::TransferInt", "[valnum]")
{ {
int value = 0; int value = 0;
wxIntegerValidator<int> valInt(&value); wxIntegerValidator<int> valInt(&value);
@@ -98,7 +72,7 @@ void NumValidatorTestCase::TransferInt()
CPPUNIT_ASSERT( !valInt.TransferFromWindow() ); CPPUNIT_ASSERT( !valInt.TransferFromWindow() );
} }
void NumValidatorTestCase::TransferUnsigned() TEST_CASE_METHOD(NumValidatorTestCase, "ValNum::TransferUnsigned", "[valnum]")
{ {
unsigned value = 0; unsigned value = 0;
wxIntegerValidator<unsigned> valUnsigned(&value); wxIntegerValidator<unsigned> valUnsigned(&value);
@@ -129,7 +103,7 @@ void NumValidatorTestCase::TransferUnsigned()
CPPUNIT_ASSERT( !valUnsigned.TransferFromWindow() ); CPPUNIT_ASSERT( !valUnsigned.TransferFromWindow() );
} }
void NumValidatorTestCase::TransferFloat() TEST_CASE_METHOD(NumValidatorTestCase, "ValNum::TransferFloat", "[valnum]")
{ {
// We need a locale with point as decimal separator. // We need a locale with point as decimal separator.
wxLocale loc(wxLANGUAGE_ENGLISH_UK, wxLOCALE_DONT_LOAD_DEFAULT); wxLocale loc(wxLANGUAGE_ENGLISH_UK, wxLOCALE_DONT_LOAD_DEFAULT);
@@ -161,7 +135,7 @@ void NumValidatorTestCase::TransferFloat()
CPPUNIT_ASSERT( !valFloat.TransferFromWindow() ); CPPUNIT_ASSERT( !valFloat.TransferFromWindow() );
} }
void NumValidatorTestCase::ZeroAsBlank() TEST_CASE_METHOD(NumValidatorTestCase, "ValNum::ZeroAsBlank", "[valnum]")
{ {
long value = 0; long value = 0;
m_text->SetValidator( m_text->SetValidator(
@@ -177,7 +151,7 @@ void NumValidatorTestCase::ZeroAsBlank()
CPPUNIT_ASSERT_EQUAL( 0, value ); CPPUNIT_ASSERT_EQUAL( 0, value );
} }
void NumValidatorTestCase::NoTrailingZeroes() TEST_CASE_METHOD(NumValidatorTestCase, "ValNum::NoTrailingZeroes", "[valnum]")
{ {
// We need a locale with point as decimal separator. // We need a locale with point as decimal separator.
wxLocale loc(wxLANGUAGE_ENGLISH_UK, wxLOCALE_DONT_LOAD_DEFAULT); wxLocale loc(wxLANGUAGE_ENGLISH_UK, wxLOCALE_DONT_LOAD_DEFAULT);
@@ -198,7 +172,7 @@ void NumValidatorTestCase::NoTrailingZeroes()
#if wxUSE_UIACTIONSIMULATOR #if wxUSE_UIACTIONSIMULATOR
void NumValidatorTestCase::Interactive() TEST_CASE_METHOD(NumValidatorTestCase, "ValNum::Interactive", "[valnum]")
{ {
#ifdef __WXMSW__ #ifdef __WXMSW__
// FIXME: This test fails on MSW buildbot slaves although works fine on // FIXME: This test fails on MSW buildbot slaves although works fine on