mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
Loading...
Searching...
No Matches
Time Utilities Unit Tests

Functions

 TEST_CASE ("Verify operation of get_curr_time", "[timeutils]")
 TEST_CASE ("Formatting MJD timestamps as ISO8601", "[timeutils][hciReduce]")
 Verifies MJD-to-ISO8601 formatting used for HCI coadd header timestamps.
 TEST_CASE ("Verify operation of thread sleep functions", "[timeutils]")
 TEST_CASE ("Verify operation of timespecAddNsec", "[timeutils]")
 TEST_CASE ("Verify parsing of a formatted time string", "[timeutils]")
 TEST_CASE ("Verify calculation of MJD", "[timeutils]")
 TEST_CASE ("Verify parsing of an ISO 8601 time string", "[timeutils]")
 TEST_CASE ("Verify conversion of an ISO 8601 time string to MJD", "[timeutils]")
 TEST_CASE ("Reject invalid Gregorian calendar dates", "[timeutils]")
 Verifies calendar conversion errors are returned to callers.
 TEST_CASE ("Format UTC timestamps as ISO8601", "[timeutils]")
 Verifies ISO8601 formatting for epoch, fractional, and current timestamps.
 TEST_CASE ("Handle ISO8601 broken-down-time failures", "[timeutils]")
 Verifies ISO8601 formatting reports broken-down-time failures safely.
 TEST_CASE ("Format compact UTC timestamps", "[timeutils]")
 Verifies compact UTC timestamp formatting and its failure result.
 TEST_CASE ("Convert UTC timespecs to TAI MJD", "[timeutils]")
 Verifies UTC timespec conversion to split TAI MJD values.
 TEST_CASE ("Report UTC-to-TAI conversion failures", "[timeutils]")
 Verifies UTC-to-TAI conversion propagates all external operation failures.
 TEST_CASE ("Average timespec values", "[timeutils]")
 Verifies averaging normalized timespec values.
 TEST_CASE ("Compare timespec values", "[timeutils]")
 Verifies all timespec comparison relations by seconds and nanoseconds.
 TEST_CASE ("Apply arithmetic offsets to timespec values", "[timeutils]")
 Verifies arithmetic addition and subtraction normalize timespec values.
 TEST_CASE ("Read a generic monotonic clock value", "[timeutils]")
 Verifies the generic current-time template with a monotonic clock.

Function Documentation

◆ TEST_CASE() [1/18]

TEST_CASE ( "Apply arithmetic offsets to timespec values" ,
"" [timeutils] )

Verifies arithmetic addition and subtraction normalize timespec values.

Definition at line 617 of file timeUtils_test.cpp.

◆ TEST_CASE() [2/18]

TEST_CASE ( "Average timespec values" ,
"" [timeutils] )

Verifies averaging normalized timespec values.

Definition at line 571 of file timeUtils_test.cpp.

◆ TEST_CASE() [3/18]

TEST_CASE ( "Compare timespec values" ,
"" [timeutils] )

Verifies all timespec comparison relations by seconds and nanoseconds.

Definition at line 590 of file timeUtils_test.cpp.

◆ TEST_CASE() [4/18]

TEST_CASE ( "Convert UTC timespecs to TAI MJD" ,
"" [timeutils] )

Verifies UTC timespec conversion to split TAI MJD values.

Definition at line 517 of file timeUtils_test.cpp.

References mx::sys::timespecUTC2TAIMJD().

◆ TEST_CASE() [5/18]

TEST_CASE ( "Format compact UTC timestamps" ,
"" [timeutils] )

Verifies compact UTC timestamp formatting and its failure result.

Definition at line 499 of file timeUtils_test.cpp.

References mx::sys::timeStamp().

◆ TEST_CASE() [6/18]

TEST_CASE ( "Format UTC timestamps as ISO8601" ,
"" [timeutils] )

Verifies ISO8601 formatting for epoch, fractional, and current timestamps.

Definition at line 460 of file timeUtils_test.cpp.

References mx::sys::ISO8601DateTimeStr().

◆ TEST_CASE() [7/18]

TEST_CASE ( "Formatting MJD timestamps as ISO8601" ,
"" [timeutils][hciReduce] )

Verifies MJD-to-ISO8601 formatting used for HCI coadd header timestamps.

Definition at line 95 of file timeUtils_test.cpp.

References mx::sys::ISO8601DateTimeStrMJD().

◆ TEST_CASE() [8/18]

TEST_CASE ( "Handle ISO8601 broken-down-time failures" ,
"" [timeutils] )

Verifies ISO8601 formatting reports broken-down-time failures safely.

Definition at line 483 of file timeUtils_test.cpp.

References mx::sys::ISO8601DateTimeStr().

◆ TEST_CASE() [9/18]

TEST_CASE ( "Read a generic monotonic clock value" ,
"" [timeutils] )

Verifies the generic current-time template with a monotonic clock.

Definition at line 644 of file timeUtils_test.cpp.

References mx::sys::get_curr_time().

◆ TEST_CASE() [10/18]

TEST_CASE ( "Reject invalid Gregorian calendar dates" ,
"" [timeutils] )

Verifies calendar conversion errors are returned to callers.

Definition at line 449 of file timeUtils_test.cpp.

References mx::sys::Cal2mjd().

◆ TEST_CASE() [11/18]

TEST_CASE ( "Report UTC-to-TAI conversion failures" ,
"" [timeutils] )

Verifies UTC-to-TAI conversion propagates all external operation failures.

Definition at line 541 of file timeUtils_test.cpp.

References mx::sys::timespecUTC2TAIMJD().

◆ TEST_CASE() [12/18]

TEST_CASE ( "Verify calculation of MJD" ,
"" [timeutils] )

Verify calculation of MJD

Definition at line 336 of file timeUtils_test.cpp.

References mx::sys::Cal2mjd().

◆ TEST_CASE() [13/18]

TEST_CASE ( "Verify conversion of an ISO 8601 time string to MJD" ,
"" [timeutils] )

Verify conversion of an ISO 8601 time string to MJD

Definition at line 420 of file timeUtils_test.cpp.

References mx::sys::ISO8601date2mjd().

◆ TEST_CASE() [14/18]

TEST_CASE ( "Verify operation of get_curr_time" ,
"" [timeutils] )

Verify operation of get_curr_time.

This only checks for increasing time on subsequent calls.

Definition at line 64 of file timeUtils_test.cpp.

References mx::sys::get_curr_time().

◆ TEST_CASE() [15/18]

TEST_CASE ( "Verify operation of thread sleep functions" ,
"" [timeutils] )

Verify operation of thread sleep functions

Uses mx::sys::get_curr_time to verify duration of sleep.

Definition at line 110 of file timeUtils_test.cpp.

References mx::sys::get_curr_time(), mx::sys::microSleep(), mx::sys::milliSleep(), mx::sys::nanoSleep(), and mx::sys::sleep().

◆ TEST_CASE() [16/18]

TEST_CASE ( "Verify operation of timespecAddNsec" ,
"" [timeutils] )

Verify operation of timespecAddNsec

Definition at line 155 of file timeUtils_test.cpp.

References mx::sys::timespecAddNsec().

◆ TEST_CASE() [17/18]

TEST_CASE ( "Verify parsing of a formatted time string" ,
"" [timeutils] )

Verify parsing of a formatted time string

Tests parsing of a string of format hh:mm:ss.s

Definition at line 272 of file timeUtils_test.cpp.

References mx::sys::parse_hms().

◆ TEST_CASE() [18/18]

TEST_CASE ( "Verify parsing of an ISO 8601 time string" ,
"" [timeutils] )

Verify parsing of an ISO 8601 time string

Definition at line 363 of file timeUtils_test.cpp.

References mx::sys::ISO8601dateBreakdown().