#include "break.h"
#define TEN_HOURS 36000
+#define ONE_DAY 86400
time_t get_brutto_worktime(time_t begin, time_t now)
{
- time_t worktime = difftime(now, begin);
+ if (begin > now)
+ return difftime(now + ONE_DAY, begin);
- return worktime;
+ return difftime(now, begin);
}
time_t get_current_worktime(time_t begin, time_t now)
assert_int_equal(result, 15180);
}
+void get_brutto_worktime_diff_twenty_three_to_six_thirdy()
+{
+ time_t begin = 82800;
+ time_t now = 23400;
+
+ time_t result = get_brutto_worktime(begin, now);
+
+ assert_int_equal(result, 27000);
+}
+
void get_diff_to_end_eight_hour_end_test()
{
time_t begin = 23400;
cmocka_unit_test(get_ten_hour_end_time_test),
cmocka_unit_test(get_current_worktime_four_hours_thirteen_test),
cmocka_unit_test(get_brutto_worktime_four_hours_fourty_five_test),
+ cmocka_unit_test(get_brutto_worktime_diff_twenty_three_to_six_thirdy),
cmocka_unit_test(get_diff_to_end_eight_hour_end_test),
cmocka_unit_test(get_diff_to_end_ten_hour_end_test),
};