gaugetest.cpp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. ///////////////////////////////////////////////////////////////////////////////
  2. // Name: tests/controls/gaugetest.cpp
  3. // Purpose: wxGauge unit test
  4. // Author: Steven Lamerton
  5. // Created: 2010-07-15
  6. // Copyright: (c) 2010 Steven Lamerton
  7. ///////////////////////////////////////////////////////////////////////////////
  8. #include "testprec.h"
  9. #if wxUSE_GAUGE
  10. #ifdef __BORLANDC__
  11. #pragma hdrstop
  12. #endif
  13. #ifndef WX_PRECOMP
  14. #include "wx/app.h"
  15. #include "wx/gauge.h"
  16. #endif // WX_PRECOMP
  17. class GaugeTestCase : public CppUnit::TestCase
  18. {
  19. public:
  20. GaugeTestCase() { }
  21. void setUp();
  22. void tearDown();
  23. private:
  24. CPPUNIT_TEST_SUITE( GaugeTestCase );
  25. CPPUNIT_TEST( Direction );
  26. CPPUNIT_TEST( Range );
  27. CPPUNIT_TEST( Value );
  28. CPPUNIT_TEST_SUITE_END();
  29. void Direction();
  30. void Range();
  31. void Value();
  32. wxGauge* m_gauge;
  33. DECLARE_NO_COPY_CLASS(GaugeTestCase)
  34. };
  35. // register in the unnamed registry so that these tests are run by default
  36. CPPUNIT_TEST_SUITE_REGISTRATION( GaugeTestCase );
  37. // also include in its own registry so that these tests can be run alone
  38. CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( GaugeTestCase, "GaugeTestCase" );
  39. void GaugeTestCase::setUp()
  40. {
  41. m_gauge = new wxGauge(wxTheApp->GetTopWindow(), wxID_ANY, 100);
  42. }
  43. void GaugeTestCase::tearDown()
  44. {
  45. wxTheApp->GetTopWindow()->DestroyChildren();
  46. }
  47. void GaugeTestCase::Direction()
  48. {
  49. //We should default to a horizontal gauge
  50. CPPUNIT_ASSERT(!m_gauge->IsVertical());
  51. wxDELETE(m_gauge);
  52. m_gauge = new wxGauge(wxTheApp->GetTopWindow(), wxID_ANY, 100,
  53. wxDefaultPosition, wxDefaultSize, wxGA_VERTICAL);
  54. CPPUNIT_ASSERT(m_gauge->IsVertical());
  55. wxDELETE(m_gauge);
  56. m_gauge = new wxGauge(wxTheApp->GetTopWindow(), wxID_ANY, 100,
  57. wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL);
  58. CPPUNIT_ASSERT(!m_gauge->IsVertical());
  59. }
  60. void GaugeTestCase::Range()
  61. {
  62. CPPUNIT_ASSERT_EQUAL(100, m_gauge->GetRange());
  63. m_gauge->SetRange(50);
  64. CPPUNIT_ASSERT_EQUAL(50, m_gauge->GetRange());
  65. m_gauge->SetRange(0);
  66. CPPUNIT_ASSERT_EQUAL(0, m_gauge->GetRange());
  67. }
  68. void GaugeTestCase::Value()
  69. {
  70. CPPUNIT_ASSERT_EQUAL(0, m_gauge->GetValue());
  71. m_gauge->SetValue(50);
  72. CPPUNIT_ASSERT_EQUAL(50, m_gauge->GetValue());
  73. m_gauge->SetValue(0);
  74. CPPUNIT_ASSERT_EQUAL(0, m_gauge->GetValue());
  75. m_gauge->SetValue(100);
  76. CPPUNIT_ASSERT_EQUAL(100, m_gauge->GetValue());
  77. }
  78. #endif //wxUSE_GAUGE