]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
add break with two hours and bigger
authorBastian Dehn <hhaalo@arcor.de>
Sun, 9 Jun 2024 08:35:20 +0000 (10:35 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 9 Jun 2024 08:35:20 +0000 (10:35 +0200)
src/break.c
tests/main.c

index a8f0945fa98bcb095020a0196cf8e5f5c32db5ca..4135db631248bc6940c0adba3d5375e5c10d39e9 100644 (file)
@@ -1,11 +1,16 @@
 #include "break.h"
 
 #define TWO_HOURS 7200
+#define TWO_HOURS_FIFTEEN_MINUTES 8100
+#define FIFTEEN_MINUTES 900
 
 int get_break_time(long worktime)
 {
+       if (worktime > TWO_HOURS_FIFTEEN_MINUTES)
+               return FIFTEEN_MINUTES;
+
        if (worktime > TWO_HOURS)
-               return 1;
+               return worktime - TWO_HOURS;
 
        return 0;
 }
\ No newline at end of file
index 617a8de73f2af18661344cd1618a68e836ecaa16..eb8e7b3f3afe6ae46d59d72e0be9e3f31db0c07b 100644 (file)
@@ -8,8 +8,7 @@
 
 void two_hours_zero_break()
 {
-       const long TWO_HOURS = 7200;
-       long worktime = TWO_HOURS;
+       long worktime = 7200;
 
        int breaktime = get_break_time(worktime);
 
@@ -18,19 +17,48 @@ void two_hours_zero_break()
 
 void two_hours_and_one_minutes_one_minute_break()
 {
-       const long TWO_HOURS = 7260;
-       long worktime = TWO_HOURS;
+       long worktime = 7260;
 
        int breaktime = get_break_time(worktime);
 
-       assert_int_equal(breaktime, 1);
+       assert_int_equal(breaktime, 60);
+}
+
+void two_hours_and_two_minutes_two_minute_break()
+{
+       long worktime = 7320;
+
+       int breaktime = get_break_time(worktime);
+
+       assert_int_equal(breaktime, 120);
+}
+
+void two_hours_and_fifteen_minutes_fifteen_minute_break()
+{
+       long worktime = 8100;
+
+       int breaktime = get_break_time(worktime);
+
+       assert_int_equal(breaktime, 900);
+}
+
+void two_hours_and_fifteen_one_minutes_fifteen_minute_break()
+{
+       long worktime = 8160;
+
+       int breaktime = get_break_time(worktime);
+
+       assert_int_equal(breaktime, 900);
 }
 
 int main()
 {
        const struct CMUnitTest tests[] = {
                cmocka_unit_test(two_hours_zero_break),
-               cmocka_unit_test(two_hours_and_one_minutes_one_minute_break)
+               cmocka_unit_test(two_hours_and_one_minutes_one_minute_break),
+               cmocka_unit_test(two_hours_and_two_minutes_two_minute_break),
+               cmocka_unit_test(two_hours_and_fifteen_minutes_fifteen_minute_break),
+               cmocka_unit_test(two_hours_and_fifteen_one_minutes_fifteen_minute_break)
        };
 
        return cmocka_run_group_tests(tests, NULL, NULL);