185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho/******************************************************************** 285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * COPYRIGHT: 38393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Copyright (c) 2008-2013 International Business Machines Corporation and 485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * others. All Rights Reserved. 585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho ********************************************************************/ 685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#ifndef _INTLTESTDATEINTERVALFORMAT 885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#define _INTLTESTDATEINTERVALFORMAT 985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "unicode/utypes.h" 1185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "unicode/locid.h" 1285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#if !UCONFIG_NO_FORMATTING 1485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "intltest.h" 1685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho/** 1885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Test basic functionality of various API functions 1985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho **/ 2085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoclass DateIntervalFormatTest: public IntlTest { 2185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 2285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 2385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hopublic: 2485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho /** 2585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Performs tests on many API functions, see detailed comments in source code 2685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho **/ 2785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void testAPI(); 2885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 2985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho /** 3085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Test formatting 3185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho */ 3285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void testFormat(); 3385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 3485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho /** 3585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Test formatting using user defined DateIntervalInfo 3685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho */ 3785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void testFormatUserDII(); 3885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 3985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho /** 408393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Test for no unwanted side effects when setting 418393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * interval patterns. 428393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */ 438393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius void testSetIntervalPatternNoSideEffect(); 448393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 458393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius /** 4659d709d503bab6e2b61931737e662dd293b40578ccornelius * Tests different year formats. 4759d709d503bab6e2b61931737e662dd293b40578ccornelius */ 4859d709d503bab6e2b61931737e662dd293b40578ccornelius void testYearFormats(); 4959d709d503bab6e2b61931737e662dd293b40578ccornelius 5059d709d503bab6e2b61931737e662dd293b40578ccornelius /** 5185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Stress test -- stress test formatting on 40 locales 5285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho */ 5385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void testStress(); 5485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 5585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoprivate: 5685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho /** 5785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Test formatting against expected result 5885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho */ 5985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void expect(const char** data, int32_t data_length); 6085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 6185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho /** 6285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Test formatting against expected result using user defined 6385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * DateIntervalInfo 6485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho */ 6585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void expectUserDII(const char** data, int32_t data_length); 6685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 6785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho /** 6885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Stress test formatting 6985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho */ 7085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void stress(const char** data, int32_t data_length, const Locale& loc, 7185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho const char* locName); 7285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho}; 7385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 7485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#endif /* #if !UCONFIG_NO_FORMATTING */ 7585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 7685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#endif 77