#include "wx/longlong.h"
#include "wx/timer.h"
+#if wxUSE_LONGLONG
+
// ----------------------------------------------------------------------------
// helpers for testing
// ----------------------------------------------------------------------------
CPPUNIT_TEST( Division );
CPPUNIT_TEST( BitOperations );
CPPUNIT_TEST( ToString );
+ CPPUNIT_TEST( LoHi );
CPPUNIT_TEST_SUITE_END();
void Conversion();
void Division();
void BitOperations();
void ToString();
+ void LoHi();
DECLARE_NO_COPY_CLASS(LongLongTestCase)
};
void LongLongTestCase::BitOperations()
{
- for ( size_t n = 0; n < ITEMS; n++ )
+ for ( size_t m = 0; m < ITEMS; m++ )
{
wxLongLong a = RAND_LL();
a.Negate();
CPPUNIT_ASSERT( a.ToString() == _T("-1311768467139281697") );
- wxLongLong llMin(LONG_MIN, 0);
+ wxLongLong llMin(-2147483647L - 1L, 0);
CPPUNIT_ASSERT( llMin.ToString() == _T("-9223372036854775808") );
#if wxUSE_LONGLONG_WX
}
+void LongLongTestCase::LoHi()
+{
+ wxLongLong ll(123, 456);
+ CPPUNIT_ASSERT_EQUAL( 456u, ll.GetLo() );
+ CPPUNIT_ASSERT_EQUAL( 123, ll.GetHi() );
+
+ wxULongLong ull(987, 654);
+ CPPUNIT_ASSERT_EQUAL( 654u, ull.GetLo() );
+ CPPUNIT_ASSERT_EQUAL( 987u, ull.GetHi() );
+}
+
+#endif // wxUSE_LONGLONG