10 func TestParseSleep(t *testing.T) {
11 ctx := context.Background()
14 "dateOfSleep": "2017-04-02",
23 "thirtyDayAvgMinutes": 42
28 "thirtyDayAvgMinutes": 42
33 "thirtyDayAvgMinutes": 42
38 "thirtyDayAvgMinutes": 42
43 "datetime": "2017-04-01T23:58:30.000",
48 "datetime": "2017-04-02T00:16:30.000",
55 "datetime": "2017-04-01T23:58:30.000",
60 "datetime": "2017-04-02T00:16:30.000",
65 "datetime": "2017-04-02T00:18:10.000",
72 "minutesAfterWakeup": 42,
75 "minutesToFallAsleep": 0,
76 "startTime": "2017-04-01T23:58:30.000",
84 StartTime: time.Date(2017, time.April, 1, 23, 58, 30, 0, time.UTC),
85 EndTime: time.Date(2017, time.April, 2, 0, 16, 30, 0, time.UTC),
86 Level: SleepLevelWake,
89 StartTime: time.Date(2017, time.April, 2, 0, 16, 30, 0, time.UTC),
90 EndTime: time.Date(2017, time.April, 2, 0, 18, 10, 0, time.UTC),
91 Level: SleepLevelDeep,
94 StartTime: time.Date(2017, time.April, 2, 0, 18, 10, 0, time.UTC),
95 EndTime: time.Date(2017, time.April, 2, 0, 49, 50, 0, time.UTC),
101 got, err := parseSleep(ctx, []byte(input), time.UTC)
103 t.Errorf("parseSleep() = %v", err)
106 for i, stg := range got.Stages {
107 t.Logf("got.Stages[%d] = %+v", i, stg)
109 for i, stg := range want.Stages {
110 t.Logf("want.Stages[%d] = %+v", i, stg)
113 if !reflect.DeepEqual(got, want) {
114 t.Errorf("parseSleep() = %+v, want %+v", got, want)