From: Bastian Dehn Date: Sun, 9 Jun 2024 10:26:06 +0000 (+0200) Subject: add worktime with first test eight hour X-Git-Tag: 1.0.0^2~47 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=81241663d0377cfea9295d58ea364680382fc943;p=feierabend.git add worktime with first test eight hour --- diff --git a/src/worktime.c b/src/worktime.c new file mode 100644 index 0000000..d8f1b33 --- /dev/null +++ b/src/worktime.c @@ -0,0 +1,32 @@ +#include "worktime.h" +#include "break.h" + +#define EIGHT_HOURS 28800 + +time_t get_current_worktime(time_t begin, time_t now) +{ + return 0; +} + +time_t get_current_worktime_diff_to_end_eight_hour(time_t begin, time_t now) +{ + return 0; +} + +time_t get_current_worktime_diff_to_end_ten_hour(time_t begin, time_t now) +{ + return 0; +} + +time_t get_eight_hour_end_worktime(time_t begin) +{ + time_t worktime = begin + EIGHT_HOURS; + worktime += get_break_time(worktime); + + return worktime; +} + +time_t get_ten_hour_end_worktime(time_t begin) +{ + return 0; +} \ No newline at end of file diff --git a/src/worktime.h b/src/worktime.h new file mode 100644 index 0000000..2fe99c1 --- /dev/null +++ b/src/worktime.h @@ -0,0 +1,11 @@ +#ifndef WORKTIME_H +#define WORKTIME_H +#include + +time_t get_current_worktime(time_t begin, time_t now); +time_t get_current_worktime_diff_to_end_eight_hour(time_t begin, time_t now); +time_t get_current_worktime_diff_to_end_ten_hour(time_t begin, time_t now); +time_t get_eight_hour_end_worktime(time_t begin); +time_t get_ten_hour_end_worktime(time_t begin); + +#endif \ No newline at end of file diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 9ec8b45..222d096 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -8,9 +8,18 @@ ADD_EXECUTABLE(break_tests TARGET_LINK_LIBRARIES(break_tests ${CMOCKA}) +ADD_EXECUTABLE(worktime_tests + worktime_tests.c + ../src/worktime.c + ../src/break.c) +TARGET_LINK_LIBRARIES(worktime_tests + ${CMOCKA}) + INCLUDE(CTest) ADD_TEST(NAME break_tests COMMAND break_tests) +ADD_TEST(NAME worktime_tests + COMMAND worktime_tests) ADD_CUSTOM_TARGET(run-tests ALL "ctest" "--verbose" diff --git a/tests/worktime_tests.c b/tests/worktime_tests.c new file mode 100644 index 0000000..721db48 --- /dev/null +++ b/tests/worktime_tests.c @@ -0,0 +1,25 @@ +#define UNIT_TESTING +#include +#include +#include +#include +#include +#include "../src/worktime.h" + +void get_eigth_hour_end_time_test() +{ + time_t begin = 23400; + + time_t result = get_eight_hour_end_worktime(begin); + + assert_int_equal(result, 54900); +} + +int main() +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(get_eigth_hour_end_time_test) + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} \ No newline at end of file