Home | History | Annotate | Download | only in intltest
      1 /********************************************************************
      2  * COPYRIGHT:
      3  * Copyright (c) 2008-2013 International Business Machines Corporation and
      4  * others. All Rights Reserved.
      5  ********************************************************************/
      6 
      7 #ifndef _INTLTESTDATEINTERVALFORMAT
      8 #define _INTLTESTDATEINTERVALFORMAT
      9 
     10 #include "unicode/utypes.h"
     11 #include "unicode/locid.h"
     12 
     13 #if !UCONFIG_NO_FORMATTING
     14 
     15 #include "intltest.h"
     16 
     17 /**
     18  * Test basic functionality of various API functions
     19  **/
     20 class DateIntervalFormatTest: public IntlTest {
     21     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
     22 
     23 public:
     24     /**
     25      * Performs tests on many API functions, see detailed comments in source code
     26      **/
     27     void testAPI();
     28 
     29     /**
     30      * Test formatting
     31      */
     32     void testFormat();
     33 
     34     /**
     35      * Test formatting using user defined DateIntervalInfo
     36      */
     37     void testFormatUserDII();
     38 
     39     /**
     40      * Test for no unwanted side effects when setting
     41      * interval patterns.
     42      */
     43     void testSetIntervalPatternNoSideEffect();
     44 
     45     /**
     46      * Stress test -- stress test formatting on 40 locales
     47      */
     48     void testStress();
     49 
     50 private:
     51     /**
     52      * Test formatting against expected result
     53      */
     54     void expect(const char** data, int32_t data_length);
     55 
     56     /**
     57      * Test formatting against expected result using user defined
     58      * DateIntervalInfo
     59      */
     60     void expectUserDII(const char** data, int32_t data_length);
     61 
     62     /**
     63      * Stress test formatting
     64      */
     65     void stress(const char** data, int32_t data_length, const Locale& loc,
     66                 const char* locName);
     67 };
     68 
     69 #endif /* #if !UCONFIG_NO_FORMATTING */
     70 
     71 #endif
     72