-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathscheduler_test.go
61 lines (47 loc) · 1.22 KB
/
scheduler_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package main
import (
"testing"
"time"
ics "github.com/PuloV/ics-golang"
)
const (
testParser = "test.ics"
)
func TestLecturesAt(t *testing.T) {
// declare test variables
when := time.Date(2017, 10, 18, 12, 0, 0, 0, time.Local)
parser := prepareParser(testParser)
// get events
events, err := lecturesAt(parser, when)
// check for error
if err != nil {
t.Error("Failed to get events: ", err.Error())
return
}
// check empty events
if len(events) == 0 {
t.Error("No events returned")
return
}
// validate events
if events[0].GetSummary() != "IMT2021" ||
events[0].GetSummary() != "IMT2021" {
t.Error("Wrong event returned. (returned ", events[0].GetSummary(), ")")
}
}
func TestSortEvents(t *testing.T) {
// prepare test events
events := make([]*ics.Event, 3)
events[0] = ics.NewEvent()
events[1] = ics.NewEvent()
events[2] = ics.NewEvent()
now := time.Now()
events[0].SetStart(now)
events[1].SetStart(now.Add(time.Hour * 2))
events[2].SetStart(now.Add(time.Hour * 1))
// try to sort
sorted := sortEvents(events)
if !(sorted[0].GetStart().Unix() < sorted[1].GetStart().Unix() && sorted[1].GetStart().Unix() < sorted[2].GetStart().Unix()) {
t.Error("Wrong result returned from sort")
}
}