/* ********************************************************************** * Copyright (c) 2010,International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** ********************************************************************** */ #include "dtfmtrtperf.h" #include "uoptions.h" #include <stdio.h> #include <iostream> using namespace std; DateTimeRoundTripPerfTest::DateTimeRoundTripPerfTest(int32_t argc, const char* argv[], UErrorCode& status) : UPerfTest(argc,argv,status) { } DateTimeRoundTripPerfTest::~DateTimeRoundTripPerfTest() { } UPerfFunction* DateTimeRoundTripPerfTest::runIndexedTest(int32_t index, UBool exec,const char* &name, char* par) { switch (index) { TESTCASE(0,RoundTripLocale1); // 1 locale TESTCASE(1,RoundTripLocale10); // 10 locales TESTCASE(2,RoundTripLocale11); // 11 locales TESTCASE(3,RoundTripLocale21); // 21 locales w/ reverse order default: name = ""; return NULL; } return NULL; } UPerfFunction* DateTimeRoundTripPerfTest::RoundTripLocale1(){ DateTimeRoundTripFunction* func= new DateTimeRoundTripFunction(1); return func; } UPerfFunction* DateTimeRoundTripPerfTest::RoundTripLocale10(){ DateTimeRoundTripFunction* func= new DateTimeRoundTripFunction(10); return func; } UPerfFunction* DateTimeRoundTripPerfTest::RoundTripLocale11(){ DateTimeRoundTripFunction* func= new DateTimeRoundTripFunction(11); return func; } UPerfFunction* DateTimeRoundTripPerfTest::RoundTripLocale21(){ DateTimeRoundTripFunction* func= new DateTimeRoundTripFunction(21); return func; } int main(int argc, const char* argv[]){ cout << "ICU version - " << U_ICU_VERSION << endl; UErrorCode status = U_ZERO_ERROR; DateTimeRoundTripPerfTest test(argc, argv, status); if(U_FAILURE(status)){ cout << "initialization failed! " << status << endl; return status; } if(test.run()==FALSE){ cout << "run failed!" << endl; fprintf(stderr,"FAILED: Tests could not be run please check the arguments.\n"); return -1; } cout << "done!" << endl; return 0; }