#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);