sprintf(timestr, "%02d:%02d", hour, minutes);
}
+void get_time_str_overtime(time_t timediff, char* timestr)
+{
+ int hour = timediff / ONE_HOUR;
+ int rest_minutes = timediff % ONE_HOUR;
+ int minutes = rest_minutes / MINUTE;
+
+ if (timediff < 0) {
+ hour *= -1;
+ minutes *= -1;
+ sprintf(timestr, "%02d:%02d", hour, minutes);
+ return;
+ }
+
+ sprintf(timestr, "-%02d:%02d", hour, minutes);
+}
+
void get_weekday(int wday, char* weekday)
{
switch (wday) {
#define TIME_FORMAT_H
#include <time.h>
-void get_time_str(time_t time, char* timestr);
+void get_time_str(time_t timediff, char* timestr);
+void get_time_str_overtime(time_t timediff, char* timestr);
void get_weekday(int wday, char* weekday);
void get_short_weekday(int wday, char* weekday);
timestring = NULL;
}
+void get_zero_hour_and_fifteen_minutes_overtime()
+{
+ time_t time = 900;
+ char* timestring = malloc(sizeof(char) * 7);
+ memset(timestring, 0, 7);
+
+ get_time_str_overtime(time, timestring);
+
+ assert_string_equal(timestring, "-00:15");
+
+ free(timestring);
+ timestring = NULL;
+}
+
+void get_five_hour_fourty_five_overtime()
+{
+ time_t time = 20700;
+ char* timestring = malloc(sizeof(char) * 7);
+ memset(timestring, 0, 7);
+
+ get_time_str_overtime(time, timestring);
+
+ assert_string_equal(timestring, "-05:45");
+
+ free(timestring);
+ timestring = NULL;
+}
+
+void get_minus_five_minutes_overtime()
+{
+ time_t time = -300;
+ char* timestring = malloc(sizeof(char) * 7);
+ memset(timestring, 0, 7);
+
+ get_time_str_overtime(time, timestring);
+
+ assert_string_equal(timestring, "00:05");
+
+ free(timestring);
+ timestring = NULL;
+}
+
void get_thursday()
{
char* weekday = malloc(sizeof(char) * 11);
cmocka_unit_test(get_zero_hour_and_fifteen_minutes),
cmocka_unit_test(get_five_hour_fourty_five),
cmocka_unit_test(get_minus_five_minutes),
+ cmocka_unit_test(get_zero_hour_and_fifteen_minutes_overtime),
+ cmocka_unit_test(get_five_hour_fourty_five_overtime),
+ cmocka_unit_test(get_minus_five_minutes_overtime),
cmocka_unit_test(get_thursday),
cmocka_unit_test(get_friday),
cmocka_unit_test(get_saturday),