From: Bastian Dehn Date: Tue, 7 Jul 2026 16:57:35 +0000 (+0200) Subject: add worktime tests for nine hours and six hours X-Git-Tag: 1.3.25^2~1^2~3 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=efc3ebebf9fb3d304c7af8773b7f3e73c8596d9e;p=feierabend.git add worktime tests for nine hours and six hours --- diff --git a/src/break.c b/src/break.c index 75b0d06..5032a0b 100644 --- a/src/break.c +++ b/src/break.c @@ -45,12 +45,12 @@ time_t get_break_time(const time_t worktime) time_t get_break_time(const time_t worktime) { - if (worktime > SIX_HOURS && worktime < NINE_HOURS) - return THIRTY_MINUTES; - if (worktime > NINE_HOURS) return FOURTY_FIVE_MINITUES; + if (worktime > SIX_HOURS) + return THIRTY_MINUTES; + return 0; } #endif \ No newline at end of file diff --git a/tests/worktime_tests.c b/tests/worktime_tests.c index 9e35726..96eb2d4 100644 --- a/tests/worktime_tests.c +++ b/tests/worktime_tests.c @@ -6,95 +6,147 @@ #include #include "../src/worktime.h" -void get_eigth_hour_end_time_test() +#ifdef BEFORE_AUG_2026 +void get_current_worktime_four_hours_thirteen_test() { const time_t begin = 23400; + const time_t now = 38580; - const time_t result = get_eight_hour_end_worktime(begin); + const time_t result = get_current_worktime(begin, now); - assert_int_equal(result, 54900); + assert_int_equal(result, 14280); } -void get_ten_hour_end_time_test() +void get_current_worktime_twenty_three_to_six_thirdy_test() +{ + const time_t begin = 82800; + const time_t now = 23400; + + const time_t result = get_current_worktime(begin, now); + + assert_int_equal(result, 24300); +} + +void get_diff_to_end_eight_hour_end_test() { const time_t begin = 23400; + const time_t now = 38580; - const time_t result = get_ten_hour_end_worktime(begin); + const time_t result = get_diff_to_soll_end(begin, now); - assert_int_equal(result, 62100); + assert_int_equal(result, 14520); } -void get_current_worktime_four_hours_thirteen_test() +void get_diff_to_end_ten_hour_end_test() { const time_t begin = 23400; const time_t now = 38580; + const time_t result = get_diff_to_max_end(begin, now); + + assert_int_equal(result, 21720); +} +#endif + +#ifndef BEFORE_AUG_2026 +void get_current_work_time_six_hours_test() +{ + const time_t begin = 23400; + const time_t now = 45000; + const time_t result = get_current_worktime(begin, now); - assert_int_equal(result, 14280); + assert_int_equal(result, 21600); } -void get_current_worktime_twenty_three_to_six_thirdy_test() +void get_current_work_time_after_six_hours_test() { - const time_t begin = 82800; - const time_t now = 23400; + const time_t begin = 23400; + const time_t now = 45001; const time_t result = get_current_worktime(begin, now); - assert_int_equal(result, 24300); + assert_int_equal(result, 19801); } -void get_brutto_worktime_four_hours_fourty_five_test() +void get_current_work_time_nine_hours_test() { const time_t begin = 23400; - const time_t now = 38580; + const time_t now = 55800; - const time_t result = get_brutto_worktime(begin, now); + const time_t result = get_current_worktime(begin, now); - assert_int_equal(result, 15180); + assert_int_equal(result, 30600); } -void get_brutto_worktime_diff_twenty_three_to_six_thirdy_test() +void get_current_work_time_after_nine_hours_test() { - const time_t begin = 82800; - const time_t now = 23400; + const time_t begin = 23400; + const time_t now = 55801; - const time_t result = get_brutto_worktime(begin, now); + const time_t result = get_current_worktime(begin, now); - assert_int_equal(result, 27000); + assert_int_equal(result, 29701); } +#endif -void get_diff_to_end_eight_hour_end_test() +void get_eigth_hour_end_time_test() { const time_t begin = 23400; - const time_t now = 38580; - const time_t result = get_diff_to_soll_end(begin, now); + const time_t result = get_eight_hour_end_worktime(begin); - assert_int_equal(result, 14520); + assert_int_equal(result, 54900); } -void get_diff_to_end_ten_hour_end_test() +void get_ten_hour_end_time_test() +{ + const time_t begin = 23400; + + const time_t result = get_ten_hour_end_worktime(begin); + + assert_int_equal(result, 62100); +} + +void get_brutto_worktime_four_hours_fourty_five_test() { const time_t begin = 23400; const time_t now = 38580; - const time_t result = get_diff_to_max_end(begin, now); + const time_t result = get_brutto_worktime(begin, now); - assert_int_equal(result, 21720); + assert_int_equal(result, 15180); +} + +void get_brutto_worktime_diff_twenty_three_to_six_thirdy_test() +{ + const time_t begin = 82800; + const time_t now = 23400; + + const time_t result = get_brutto_worktime(begin, now); + + assert_int_equal(result, 27000); } int run_worktime_tests() { const struct CMUnitTest worktime_tests[] = { - cmocka_unit_test(get_eigth_hour_end_time_test), - cmocka_unit_test(get_ten_hour_end_time_test), + #ifdef BEFORE_AUG_2026 cmocka_unit_test(get_current_worktime_four_hours_thirteen_test), cmocka_unit_test(get_current_worktime_twenty_three_to_six_thirdy_test), - cmocka_unit_test(get_brutto_worktime_four_hours_fourty_five_test), - cmocka_unit_test(get_brutto_worktime_diff_twenty_three_to_six_thirdy_test), cmocka_unit_test(get_diff_to_end_eight_hour_end_test), cmocka_unit_test(get_diff_to_end_ten_hour_end_test), + #endif + #ifndef BEFORE_AUG_2026 + cmocka_unit_test(get_current_work_time_six_hours_test), + cmocka_unit_test(get_current_work_time_after_six_hours_test), + cmocka_unit_test(get_current_work_time_nine_hours_test), + cmocka_unit_test(get_current_work_time_after_nine_hours_test), + #endif + cmocka_unit_test(get_eigth_hour_end_time_test), + cmocka_unit_test(get_ten_hour_end_time_test), + cmocka_unit_test(get_brutto_worktime_four_hours_fourty_five_test), + cmocka_unit_test(get_brutto_worktime_diff_twenty_three_to_six_thirdy_test), }; return cmocka_run_group_tests(worktime_tests, NULL, NULL);