]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
add worktime tests for nine hours and six hours
authorBastian Dehn <hhaalo@arcor.de>
Tue, 7 Jul 2026 16:57:35 +0000 (18:57 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Tue, 7 Jul 2026 16:57:35 +0000 (18:57 +0200)
src/break.c
tests/worktime_tests.c

index 75b0d06c28bcf0b6207a78d42fd32dccd898004d..5032a0b3eced2b4400d43e2943a977e5917fad20 100644 (file)
@@ -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
index 9e357263fb4e6d7e104f42b965dc6d25e2d9d9f1..96eb2d4ba50f88b8de8cb0a9c7a46ea311683c1b 100644 (file)
 #include <cmocka.h>
 #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);