home *** CD-ROM | disk | FTP | other *** search
-
- /*
- ********************************************************************
- * COPYRIGHT:
- * (C) Copyright Taligent, Inc., 1997
- * (C) Copyright International Business Machines Corporation, 1997 - 1998
- * Licensed Material - Program-Property of IBM - All Rights Reserved.
- * US Government Users Restricted Rights - Use, duplication, or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- *
- ********************************************************************
- */
-
- #ifndef __CalendarTest__
- #define __CalendarTest__
-
- #include "utypes.h"
- #include "caltztst.h"
- #include "calendar.h"
-
- class CalendarTest: public CalendarTimeZoneTest {
- public:
- // IntlTest override
- void runIndexedTest( int32_t index, bool_t exec, char* &name, char* par );
- public:
- /**
- * This test confirms the correct behavior of add when incrementing
- * through subsequent days.
- */
- virtual void TestRog(void);
- /**
- * Test the handling of the day of the week, checking for correctness and
- * for correct minimum and maximum values.
- */
- virtual void TestDOW943(void);
- /**
- * test subroutine use by TestDOW943
- */
- void dowTest(bool_t lenient);
- /**
- * Confirm that cloned Calendar objects do not inadvertently share substructures.
- */
- virtual void TestClonesUnique908(void);
- /**
- * Confirm that the Gregorian cutoff value works as advertised.
- */
- virtual void TestGregorianChange768(void);
- /**
- * Confirm the functioning of the field disambiguation algorithm.
- */
- virtual void TestDisambiguation765(void);
- /**
- * Test various API methods for API completeness.
- */
- virtual void TestGenericAPI(void); // New to C++ -- needs to be back ported to Java
-
- public: // package
- /**
- * test subroutine used by TestDisambiguation765
- */
- virtual void verify765(const UnicodeString& msg, Calendar* c, int32_t year, int32_t month, int32_t day);
- /**
- * test subroutine used by TestDisambiguation765
- */
- virtual void verify765(const UnicodeString& msg/*, IllegalArgumentException e*/, UErrorCode status);
-
- public:
- /**
- * Confirm that the offset between local time and GMT behaves as expected.
- */
- virtual void TestGMTvsLocal4064654(void);
-
- public: // package
- /**
- * test subroutine used by TestGMTvsLocal4064654
- */
- virtual void test4064654(int32_t yr, int32_t mo, int32_t dt, int32_t hr, int32_t mn, int32_t sc);
-
- public:
- /**
- * The operations of adding and setting should not exhibit pathological
- * dependence on the order of operations. This test checks for this.
- */
- virtual void TestAddSetOrder621(void);
- /**
- * Confirm that adding to various fields works.
- */
- virtual void TestAdd520(void);
- /**
- * Execute and test adding and rolling in GregorianCalendar extensively.
- */
- virtual void TestAddRollExtensive(void);
-
- public: // package
- // internal utility routine for checking date
- virtual void check520(Calendar* c,
- int32_t y, int32_t m, int32_t d,
- int32_t hr, int32_t min, int32_t sec,
- int32_t ms, Calendar::EDateFields field);
-
- virtual void check520(Calendar* c,
- int32_t y, int32_t m, int32_t d);
-
- public:
- /**
- * Test that setting of fields works. In particular, make sure that all instances
- * of GregorianCalendar don't share a static instance of the fields array.
- */
- virtual void TestFieldSet4781(void);
- /* virtual void TestSerialize337();
-
- public: // package
- static UnicodeString& PREFIX;
- static UnicodeString& POSTFIX;
- static UnicodeString& FILENAME;
- */
- public:
- /**
- * Verify that the seconds of a Calendar can be zeroed out through the
- * expected sequence of operations.
- */
- virtual void TestSecondsZero121(void);
- /**
- * Verify that a specific sequence of adding and setting works as expected;
- * it should not vary depending on when and whether the get method is
- * called.
- */
- virtual void TestAddSetGet0610(void);
-
- public: // package
- // internal routine for checking date
- static UnicodeString value(Calendar* calendar);
- static UnicodeString EXPECTED_0610;
-
- public:
- /**
- * Verify that various fields on a known date are set correctly.
- */
- virtual void TestFields060(void);
-
- public: // package
- static int32_t EXPECTED_FIELDS[];
- static const int32_t EXPECTED_FIELDS_length;
-
- public:
- /**
- * Verify that various fields on a known date are set correctly. In this
- * case, the start of the epoch (January 1 1970).
- */
- virtual void TestEpochStartFields(void);
-
- public: // package
- static int32_t EPOCH_FIELDS[];
-
- public:
- /**
- * Test that the days of the week progress properly when add is called repeatedly
- * for increments of 24 days.
- */
- virtual void TestDOWProgression(void);
-
- public: // package
- // test subroutine use by TestDOWProgression
- virtual void marchByDelta(Calendar* cal, int32_t delta);
- };
-
- #endif // __CalendarTest__
-