gmtime_r(&time, &time_cal);
sprintf(timestr, "%02d:%02d", time_cal.tm_hour, time_cal.tm_min);
+}
+
+void get_weekday(time_t time, char* weekday)
+{
+ struct tm weekday_num;
+ localtime_r(&time, &weekday_num);
+
+
+ switch (weekday_num.tm_wday) {
+ case 0:
+ sprintf(weekday, "%s", "Sonntag");
+ break;
+ case 1:
+ sprintf(weekday, "%s", "Montag");
+ break;
+ case 2:
+ sprintf(weekday, "%s", "Dienstag");
+ break;
+ case 3:
+ sprintf(weekday, "%s", "Mittwoch");
+ break;
+ case 4:
+ sprintf(weekday, "%s", "Donnerstag");
+ break;
+ case 5:
+ sprintf(weekday, "%s", "Freitag");
+ break;
+ case 6:
+ sprintf(weekday, "%s", "Samstag");
+ break;
+ default:
+ sprintf(weekday, "%s", "Unknown");
+ break;
+ }
}
\ No newline at end of file
#include <stdint.h>
#include <setjmp.h>
#include <cmocka.h>
+#include <string.h>
#include "../src/time_format.h"
void get_zero_hour_and_fifteen_minutes()
timestring = NULL;
}
+void get_thursday()
+{
+ char* weekday = malloc(sizeof(char) * 11);
+ memset(weekday, 0, 11);
+ time_t day = 0;
+
+ get_weekday(day, weekday);
+
+ assert_string_equal(weekday, "Donnerstag");
+
+ free(weekday);
+ weekday = NULL;
+}
+
+void get_friday()
+{
+ char* weekday = malloc(sizeof(char) * 11);
+ memset(weekday, 0, 11);
+ time_t day = 86400;
+
+ get_weekday(day, weekday);
+
+ assert_string_equal(weekday, "Freitag");
+
+ free(weekday);
+ weekday = NULL;
+}
+
+void get_saturday()
+{
+ char* weekday = malloc(sizeof(char) * 11);
+ memset(weekday, 0, 11);
+ time_t day = 172800;
+
+ get_weekday(day, weekday);
+
+ assert_string_equal(weekday, "Samstag");
+
+ free(weekday);
+ weekday = NULL;
+}
+
+void get_sunday()
+{
+ char* weekday = malloc(sizeof(char) * 11);
+ memset(weekday, 0, 11);
+ time_t day = 259200;
+
+ get_weekday(day, weekday);
+
+ assert_string_equal(weekday, "Sonntag");
+
+ free(weekday);
+ weekday = NULL;
+}
+
+void get_monday()
+{
+ char* weekday = malloc(sizeof(char) * 11);
+ memset(weekday, 0, 11);
+ time_t day = 345600;
+
+ get_weekday(day, weekday);
+
+ assert_string_equal(weekday, "Montag");
+
+ free(weekday);
+ weekday = NULL;
+}
+
+void get_thuesday()
+{
+ char* weekday = malloc(sizeof(char) * 11);
+ memset(weekday, 0, 11);
+ time_t day = 432000;
+
+ get_weekday(day, weekday);
+
+ assert_string_equal(weekday, "Dienstag");
+
+ free(weekday);
+ weekday = NULL;
+}
+
+void get_wednesday()
+{
+ char* weekday = malloc(sizeof(char) * 11);
+ memset(weekday, 0, 11);
+ time_t day = 518400;
+
+ get_weekday(day, weekday);
+
+ assert_string_equal(weekday, "Mittwoch");
+
+ free(weekday);
+ weekday = NULL;
+}
+
int main()
{
const struct CMUnitTest tests[] = {
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_minus_five_minutes),
+ cmocka_unit_test(get_thursday),
+ cmocka_unit_test(get_friday),
+ cmocka_unit_test(get_saturday),
+ cmocka_unit_test(get_sunday),
+ cmocka_unit_test(get_monday),
+ cmocka_unit_test(get_thuesday),
+ cmocka_unit_test(get_wednesday),
+
};
return cmocka_run_group_tests(tests, NULL, NULL);