size.cpp 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. ///////////////////////////////////////////////////////////////////////////////
  2. // Name: tests/geometry/size.cpp
  3. // Purpose: wxSize unit test
  4. // Author: Wlodzimierz ABX Skiba
  5. // Created: 2004-12-14
  6. // Copyright: (c) 2004 wxWindows
  7. ///////////////////////////////////////////////////////////////////////////////
  8. // ----------------------------------------------------------------------------
  9. // headers
  10. // ----------------------------------------------------------------------------
  11. #include "testprec.h"
  12. #ifdef __BORLANDC__
  13. #pragma hdrstop
  14. #endif
  15. #ifndef WX_PRECOMP
  16. #include "wx/gdicmn.h"
  17. #endif // WX_PRECOMP
  18. // ----------------------------------------------------------------------------
  19. // test class
  20. // ----------------------------------------------------------------------------
  21. class SizeTestCase : public CppUnit::TestCase
  22. {
  23. public:
  24. SizeTestCase() { }
  25. private:
  26. CPPUNIT_TEST_SUITE( SizeTestCase );
  27. CPPUNIT_TEST( Operators );
  28. CPPUNIT_TEST_SUITE_END();
  29. void Operators();
  30. DECLARE_NO_COPY_CLASS(SizeTestCase)
  31. };
  32. // register in the unnamed registry so that these tests are run by default
  33. CPPUNIT_TEST_SUITE_REGISTRATION( SizeTestCase );
  34. // also include in its own registry so that these tests can be run alone
  35. CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( SizeTestCase, "SizeTestCase" );
  36. void SizeTestCase::Operators()
  37. {
  38. wxSize s1(1,2);
  39. wxSize s2(3,4);
  40. wxSize s3;
  41. s3 = s1 + s2;
  42. CPPUNIT_ASSERT( s3.GetWidth()==4 && s3.GetHeight()==6 );
  43. s3 = s2 - s1;
  44. CPPUNIT_ASSERT( s3.GetWidth()==2 && s3.GetHeight()==2 );
  45. s3 = s1 * 2;
  46. CPPUNIT_ASSERT( s3.GetWidth()==2 && s3.GetHeight()==4 );
  47. s3 = 2 * s1;
  48. CPPUNIT_ASSERT( s3.GetWidth()==2 && s3.GetHeight()==4 );
  49. s3 = s3 / 2;
  50. CPPUNIT_ASSERT( s3.GetWidth()==1 && s3.GetHeight()==2 );
  51. s3 = s2;
  52. CPPUNIT_ASSERT( s3 != s1 );
  53. s3 = s1;
  54. CPPUNIT_ASSERT( s3 == s1 );
  55. s3 += s2;
  56. CPPUNIT_ASSERT( s3.GetWidth()==4 && s3.GetHeight()==6 );
  57. s3 -= s2;
  58. CPPUNIT_ASSERT( s3 == s1 );
  59. s3 *= 2;
  60. CPPUNIT_ASSERT( s3.GetWidth()==2 && s3.GetHeight()==4 );
  61. s3 /= 2;
  62. CPPUNIT_ASSERT( s3 == s1 );
  63. }