]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
add break time test thirdy minutes and fourty five
authorBastian Dehn <hhaalo@arcor.de>
Tue, 7 Jul 2026 16:38:14 +0000 (18:38 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Tue, 7 Jul 2026 16:38:14 +0000 (18:38 +0200)
src/break.c
tests/break_tests.c

index 3cbeaf1c6cc9534730ecf999a8645cad46d59b62..75b0d06c28bcf0b6207a78d42fd32dccd898004d 100644 (file)
@@ -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
index 0ffdaa21f42db41415fd1fba7a9b9ebab019858f..ababdc189093205d770f7b6b64e9b6c310279d27 100644 (file)
@@ -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);