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      * Tests different year formats.
     47      */
     48     void testYearFormats();
     49 
     50     /**
     51      * Stress test -- stress test formatting on 40 locales
     52      */
     53     void testStress();
     54 
     55 private:
     56     /**
     57      * Test formatting against expected result
     58      */
     59     void expect(const char** data, int32_t data_length);
     60 
     61     /**
     62      * Test formatting against expected result using user defined
     63      * DateIntervalInfo
     64      */
     65     void expectUserDII(const char** data, int32_t data_length);
     66 
     67     /**
     68      * Stress test formatting
     69      */
     70     void stress(const char** data, int32_t data_length, const Locale& loc,
     71                 const char* locName);
     72 };
     73 
     74 #endif /* #if !UCONFIG_NO_FORMATTING */
     75 
     76 #endif
     77