CPPUNIT_TEST_SUITE( SetSizeTestCase );
CPPUNIT_TEST( SetSize );
CPPUNIT_TEST( SetSizeLessThanMinSize );
+ CPPUNIT_TEST( BestSize );
CPPUNIT_TEST_SUITE_END();
void SetSize();
void SetSizeLessThanMinSize();
+ void BestSize();
+
+ // Helper class overriding DoGetBestSize() for testing purposes.
+ class MyWindow : public wxWindow
+ {
+ public:
+ MyWindow(wxWindow* parent)
+ : wxWindow(parent, wxID_ANY)
+ {
+ }
+
+ protected:
+ virtual wxSize DoGetBestSize() const { return wxSize(50, 250); }
+ };
wxWindow *m_win;
void SetSizeTestCase::setUp()
{
- m_win = new wxWindow(wxTheApp->GetTopWindow(), wxID_ANY);
+ m_win = new MyWindow(wxTheApp->GetTopWindow());
}
void SetSizeTestCase::tearDown()
CPPUNIT_ASSERT_EQUAL( size, m_win->GetSize() );
}
+void SetSizeTestCase::BestSize()
+{
+ CPPUNIT_ASSERT_EQUAL( wxSize(50, 250), m_win->GetBestSize() );
+
+ m_win->SetMinSize(wxSize(100, 100));
+ CPPUNIT_ASSERT_EQUAL( wxSize(100, 250), m_win->GetBestSize() );
+
+ m_win->SetMaxSize(wxSize(200, 200));
+ CPPUNIT_ASSERT_EQUAL( wxSize(100, 200), m_win->GetBestSize() );
+}