+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() );
+}
+
+void LongLongTestCase::Limits()
+{
+ // VC6 doesn't specialize numeric_limits<> for __int64 so skip this test
+ // for it.
+#ifndef __VISUALC6__
+#if wxUSE_LONGLONG_NATIVE
+ CPPUNIT_ASSERT( std::numeric_limits<wxLongLong>::is_specialized );
+ CPPUNIT_ASSERT( std::numeric_limits<wxULongLong>::is_specialized );
+
+ wxULongLong maxval = std::numeric_limits<wxULongLong>::max();
+ CPPUNIT_ASSERT( maxval.ToDouble() > 0 );
+#endif // wxUSE_LONGLONG_NATIVE
+#endif // !__VISUALC6__
+}
+