--- /dev/null
+#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
--- /dev/null
+#ifndef WORKTIME_H
+#define WORKTIME_H
+#include <time.h>
+
+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
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"
--- /dev/null
+#define UNIT_TESTING
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <setjmp.h>
+#include <cmocka.h>
+#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