Home | History | Annotate | Download | only in intltest
      1 /********************************************************************
      2  * COPYRIGHT:
      3  * Copyright (c) 2008-2015 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     void testTicket11583_2();
     56 
     57 private:
     58     /**
     59      * Test formatting against expected result
     60      */
     61     void expect(const char** data, int32_t data_length);
     62 
     63     /**
     64      * Test formatting against expected result using user defined
     65      * DateIntervalInfo
     66      */
     67     void expectUserDII(const char** data, int32_t data_length);
     68 
     69     /**
     70      * Stress test formatting
     71      */
     72     void stress(const char** data, int32_t data_length, const Locale& loc,
     73                 const char* locName);
     74 };
     75 
     76 #endif /* #if !UCONFIG_NO_FORMATTING */
     77 
     78 #endif
     79