]>
git.saurik.com Git - wxWidgets.git/blob - tests/controls/headerctrltest.cpp
079e5e506bd8c2e596e58ea426b9f76634561397
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: tests/controls/headerctrltest.cpp
3 // Purpose: wxHeaderCtrl unit test
4 // Author: Vadim Zeitlin
7 // Copyright: (c) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
8 ///////////////////////////////////////////////////////////////////////////////
10 // ----------------------------------------------------------------------------
12 // ----------------------------------------------------------------------------
22 #include "wx/headerctrl.h"
25 // ----------------------------------------------------------------------------
27 // ----------------------------------------------------------------------------
29 class HeaderCtrlTestCase
: public CppUnit::TestCase
32 HeaderCtrlTestCase() { }
35 virtual void tearDown();
38 CPPUNIT_TEST_SUITE( HeaderCtrlTestCase
);
39 CPPUNIT_TEST( AddDelete
);
40 CPPUNIT_TEST( BestSize
);
41 CPPUNIT_TEST_SUITE_END();
46 wxHeaderCtrl
*m_header
;
48 DECLARE_NO_COPY_CLASS(HeaderCtrlTestCase
)
51 // register in the unnamed registry so that these tests are run by default
52 CPPUNIT_TEST_SUITE_REGISTRATION( HeaderCtrlTestCase
);
54 // also include in it's own registry so that these tests can be run alone
55 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( HeaderCtrlTestCase
, "HeaderCtrlTestCase" );
57 // ----------------------------------------------------------------------------
58 // test initialization
59 // ----------------------------------------------------------------------------
61 void HeaderCtrlTestCase::setUp()
63 m_header
= new wxHeaderCtrl(wxTheApp
->GetTopWindow());
66 void HeaderCtrlTestCase::tearDown()
72 // ----------------------------------------------------------------------------
73 // the tests themselves
74 // ----------------------------------------------------------------------------
76 void HeaderCtrlTestCase::AddDelete()
78 CPPUNIT_ASSERT_EQUAL( 0, m_header
->GetColumnCount() );
80 m_header
->AppendColumn(wxHeaderCtrlColumn("Column 1"));
81 CPPUNIT_ASSERT_EQUAL( 1, m_header
->GetColumnCount() );
83 m_header
->AppendColumn(wxHeaderCtrlColumn("Column 2"));
84 CPPUNIT_ASSERT_EQUAL( 2, m_header
->GetColumnCount() );
86 m_header
->InsertColumn(wxHeaderCtrlColumn("Column 0"), 0);
87 CPPUNIT_ASSERT_EQUAL( 3, m_header
->GetColumnCount() );
89 m_header
->DeleteColumn(2);
90 CPPUNIT_ASSERT_EQUAL( 2, m_header
->GetColumnCount() );
93 void HeaderCtrlTestCase::BestSize()
95 const wxSize sizeEmpty
= m_header
->GetBestSize();
96 CPPUNIT_ASSERT( sizeEmpty
.x
> 0 );
97 CPPUNIT_ASSERT( sizeEmpty
.y
> 0 );
99 m_header
->AppendColumn(wxHeaderCtrlColumn("Foo"));
100 m_header
->AppendColumn(wxHeaderCtrlColumn("Bar"));
101 const wxSize size
= m_header
->GetBestSize();
102 CPPUNIT_ASSERT_EQUAL( sizeEmpty
.y
, size
.y
);