1 /* 2 ********************************************************************** 3 * Copyright (c) 2010,International Business Machines 4 * Corporation and others. All Rights Reserved. 5 ********************************************************************** 6 ********************************************************************** 7 */ 8 9 #include "dtfmtrtperf.h" 10 #include "uoptions.h" 11 #include <stdio.h> 12 13 #include <iostream> 14 using namespace std; 15 16 DateTimeRoundTripPerfTest::DateTimeRoundTripPerfTest(int32_t argc, const char* argv[], UErrorCode& status) 17 : UPerfTest(argc,argv,status) { } 18 19 DateTimeRoundTripPerfTest::~DateTimeRoundTripPerfTest() { } 20 21 UPerfFunction* DateTimeRoundTripPerfTest::runIndexedTest(int32_t index, UBool exec,const char* &name, char* par) { 22 23 switch (index) 24 { 25 TESTCASE(0,RoundTripLocale1); // 1 locale 26 TESTCASE(1,RoundTripLocale10); // 10 locales 27 TESTCASE(2,RoundTripLocale11); // 11 locales 28 TESTCASE(3,RoundTripLocale21); // 21 locales w/ reverse order 29 default: 30 name = ""; 31 return NULL; 32 } 33 return NULL; 34 35 } 36 37 UPerfFunction* DateTimeRoundTripPerfTest::RoundTripLocale1(){ 38 DateTimeRoundTripFunction* func= new DateTimeRoundTripFunction(1); 39 return func; 40 } 41 42 UPerfFunction* DateTimeRoundTripPerfTest::RoundTripLocale10(){ 43 DateTimeRoundTripFunction* func= new DateTimeRoundTripFunction(10); 44 return func; 45 } 46 47 UPerfFunction* DateTimeRoundTripPerfTest::RoundTripLocale11(){ 48 DateTimeRoundTripFunction* func= new DateTimeRoundTripFunction(11); 49 return func; 50 } 51 52 UPerfFunction* DateTimeRoundTripPerfTest::RoundTripLocale21(){ 53 DateTimeRoundTripFunction* func= new DateTimeRoundTripFunction(21); 54 return func; 55 } 56 57 int main(int argc, const char* argv[]){ 58 59 cout << "ICU version - " << U_ICU_VERSION << endl; 60 61 UErrorCode status = U_ZERO_ERROR; 62 DateTimeRoundTripPerfTest test(argc, argv, status); 63 if(U_FAILURE(status)){ 64 cout << "initialization failed! " << status << endl; 65 return status; 66 } 67 68 if(test.run()==FALSE){ 69 cout << "run failed!" << endl; 70 fprintf(stderr,"FAILED: Tests could not be run please check the arguments.\n"); 71 return -1; 72 } 73 74 cout << "done!" << endl; 75 return 0; 76 }