From: Bastian Dehn Date: Tue, 7 Jul 2026 16:38:14 +0000 (+0200) Subject: add break time test thirdy minutes and fourty five X-Git-Tag: 1.3.25^2~1^2~4 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=934865fb2fed6bf2e343bb31a0eeab655d123172;p=feierabend.git add break time test thirdy minutes and fourty five --- diff --git a/src/break.c b/src/break.c index 3cbeaf1..75b0d06 100644 --- a/src/break.c +++ b/src/break.c @@ -41,12 +41,16 @@ time_t get_break_time(const time_t worktime) #define SIX_HOURS 21600 #define NINE_HOURS 32400 #define THIRTY_MINUTES 1800 +#define FOURTY_FIVE_MINITUES 2700 time_t get_break_time(const time_t worktime) { - if (worktime >= SIX_HOURS && worktime < NINE_HOURS) + if (worktime > SIX_HOURS && worktime < NINE_HOURS) return THIRTY_MINUTES; + if (worktime > NINE_HOURS) + return FOURTY_FIVE_MINITUES; + return 0; } #endif \ No newline at end of file diff --git a/tests/break_tests.c b/tests/break_tests.c index 0ffdaa2..ababdc1 100644 --- a/tests/break_tests.c +++ b/tests/break_tests.c @@ -167,6 +167,22 @@ int run_break_tests() #endif #ifndef BEFORE_AUG_2026 +void before_six_hour_zero_break_test(time_t worktime) +{ + const time_t breaktime = get_break_time(worktime); + + assert_int_equal(breaktime, 0); +} + +void before_six_hour_zero_break_tests() +{ + const time_t six_hour = 21601; + + for (time_t i = 0; i < six_hour; i++) { + before_six_hour_zero_break_test(i); + } +} + void six_to_nine_hour_thirdy_minutes_break_test(time_t worktime) { const time_t breaktime = get_break_time(worktime); @@ -176,7 +192,7 @@ void six_to_nine_hour_thirdy_minutes_break_test(time_t worktime) void six_to_nine_hour_thirdy_minutes_break_tests() { - const time_t six_hour = 21600; + const time_t six_hour = 21601; const time_t nine_hour = 32400; for (time_t i = six_hour; i < nine_hour; i++) { @@ -184,10 +200,29 @@ void six_to_nine_hour_thirdy_minutes_break_tests() } } +void after_nine_hour_fourty_five_minutes_break_test(time_t worktime) +{ + const time_t breaktime = get_break_time(worktime); + + assert_int_equal(breaktime, 2700); +} + +void after_nine_hour_fourty_five_minutes_break_tests() +{ + const time_t nine_hour = 32401; + const time_t twenty_four_hour = 86400; + + for (time_t i = nine_hour; i < twenty_four_hour; i++) { + after_nine_hour_fourty_five_minutes_break_test(i); + } +} + int run_break_tests() { const struct CMUnitTest break_tests[] = { - cmocka_unit_test(six_to_nine_hour_thirdy_minutes_break_tests) + cmocka_unit_test(before_six_hour_zero_break_tests), + cmocka_unit_test(six_to_nine_hour_thirdy_minutes_break_tests), + cmocka_unit_test(after_nine_hour_fourty_five_minutes_break_tests) }; return cmocka_run_group_tests(break_tests, NULL, NULL);