00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #pragma once
00019
00020 #ifdef USE_TEST_INSTANCE_DLL
00021 # include "TestToolBox/TestInstanceDll.h"
00022 #endif
00023
00024 namespace TestToolBox
00025 {
00026
00027
00028
00029
00030
00031
00032
00033 class TestTime
00034 {
00035 private:
00036
00037
00038 explicit TestTime (void);
00039
00040 public:
00041
00042
00043
00044 ~TestTime(){};
00045
00046
00047 #ifdef USE_TEST_INSTANCE_DLL
00048 static TestTime* CreateNewInstanceForUsageInDll(void){return new TestTime;};
00049 static TestTime* Get (void)
00050 {return TTB_GetInstance_TestTime();}
00051 static void Cleanup (void)
00052 {TTB_CleanupInstance_TestTime();}
00053 #else
00054 static TestTime* Get (void)
00055 {if (!s_pTestTime) s_pTestTime = new TestTime;
00056 return s_pTestTime;}
00057 static TestTime* s_pTestTime;
00058 static void Cleanup (void)
00059 {delete s_pTestTime; s_pTestTime = 0;}
00060 #endif
00061
00062
00063
00064
00065
00066 void StoreStartTime();
00067 void StoreStopTime();
00068
00069
00070
00071
00072 void ResetStopTime();
00073
00074
00075 std::string GetStartTimeDateStr (void);
00076 std::string GetStopTimeDateStr (void);
00077
00078
00079 std::string GetTestDurationStr (void);
00080
00081
00082 long GetCurTimeMs (void);
00083
00084
00085 long GetCurTimeSec (void);
00086
00087
00088 std::string GetCurTimeStr (void);
00089
00090
00091 std::string GetCurTimeDateStr (void);
00092
00093
00094 static std::string FormatTimeAndDate (
00095 struct tm* in_pTime);
00096
00097
00098 static std::string FormatTestDuration (
00099 long in_durationMs);
00100
00101 private:
00102
00103
00104 long m_startTimeMs;
00105
00106
00107 std::string m_startTimeDateStr;
00108 std::string m_stopTimeDateStr;
00109 std::string m_testDurationStr;
00110
00111 };
00112
00113
00114 #ifndef USE_TEST_INSTANCE_DLL
00115 __declspec(selectany) TestTime* TestTime::s_pTestTime = 0;
00116 #endif
00117
00118
00119 };
00120
00121