// ============================================================================ // // = LIBRARY // tests // // = DESCRIPTION // This program verifies the ACE_Date_Time class. // // = AUTHOR // Steve Huston // // ============================================================================ #include "ace/Date_Time.h" #include "test_config.h" static ACE_Date_Time static_dt; // Making sure it doesn't crash. int run_main (int, ACE_TCHAR *[]) { ACE_START_TEST (ACE_TEXT ("Date_Time_Test")); int error = 0; ACE_Date_Time dt; long month = dt.month (); long day = dt.day (); long year = dt.year (); long hour = dt.hour (); long minute = dt.minute (); long seconds = dt.second (); long usec = dt.microsec (); ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ACE_Date_Time (m/d/y, h:m:s.u): %d/%d/%d, %d:%d:%d.%d\n"), month, day, year, hour, minute, seconds, usec)); ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ACE_Log thinks it is: %D\n"))); if (month < 1 || month > 12) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Month (%d) out of range (1-12)\n"), month)); error = 1; } if (day < 1 || day > 31) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Day (%d) out of range (1-31)\n"), day)); error = 1; } if (year < 1900 || year > 2100) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Year (%d) out of range (1900-2100)\n"), year)); error = 1; } if (hour < 0 || hour > 23) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Hour (%d) out of range (0-23)\n"), hour)); error = 1; } if (minute < 0 || minute > 59) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Minute (%d) out of range (0-59)\n"), minute)); error = 1; } if (seconds < 0 || seconds > 59) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Seconds (%d) out of range (0-59)\n"), seconds)); error = 1; } if (usec < 0 || usec > 999999) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Microseconds (%d) out of range (0-999999)\n"), usec)); error = 1; } // The static ACE_Date_Time object is primarily to be sure it doesn't // crash; However, let's do some sanity checks on it to be sure it's // legit as well. if (static_dt.month () != month) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Static month (%d) doesn't match %d\n"), static_dt.month (), month)); error = 1; } if (static_dt.day () != day) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Static day (%d) doesn't match %d\n"), static_dt.day (), day)); error = 1; } if (static_dt.year () != year) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Static year (%d) doesn't match %d\n"), static_dt.year (), year)); error = 1; } if (static_dt.hour () != hour) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Static hour (%d) doesn't match %d\n"), static_dt.hour (), hour)); error = 1; } // There's a rare instance where the starting seconds is 59 and the // minute roles over during the test run. if (!(static_dt.minute () == minute || (static_dt.minute () + 1 == minute && static_dt.second () > seconds))) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Static minute (%d) doesn't match %d\n"), static_dt.minute (), minute)); error = 1; } ACE_END_TEST; return error; }