package functions import ( mockTime "htwkalender/data-manager/service/functions/time" "reflect" "testing" "time" ) func TestCalculateSemesterList(t *testing.T) { type args struct { clock mockTime.Clock } tests := []struct { name string args args want []string }{ { name: "is summer semester", args: args{ clock: mockTime.MockClock{ NowTime: time.Date(2024, 6, 1, 0, 0, 0, 0, time.UTC), }, }, want: []string{"ss"}, }, { name: "is winter semester", args: args{ clock: mockTime.MockClock{ NowTime: time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC), }, }, want: []string{"ws"}, }, { name: "is in both", args: args{ clock: mockTime.MockClock{ NowTime: time.Date(2024, 3, 22, 0, 0, 0, 0, time.UTC), }, }, want: []string{"ss", "ws"}, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := CalculateSemesterList(tt.args.clock); !reflect.DeepEqual(got, tt.want) { t.Errorf("calculateSemesterList() = %v, want %v", got, tt.want) } }) } } func TestGetCurrentSemesterString(t *testing.T) { type args struct { localeTime mockTime.Clock } tests := []struct { name string args args want string }{ { name: "is winter semester", args: args{ localeTime: mockTime.MockClock{ NowTime: time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC), }, }, want: "ws", }, { name: "is summer semester", args: args{ localeTime: mockTime.MockClock{ NowTime: time.Date(2024, 6, 1, 0, 0, 0, 0, time.UTC), }, }, want: "ss", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := GetCurrentSemesterString(tt.args.localeTime); got != tt.want { t.Errorf("GetCurrentSemesterString() = %v, want %v", got, tt.want) } }) } }