@@ -6,6 +6,28 @@ import (
6
6
"time"
7
7
)
8
8
9
+ func TestNewTimeDuration (t * testing.T ) {
10
+ tm := time .Unix (1584198566 , 535897000 ).UTC ()
11
+ type args struct {
12
+ t time.Time
13
+ }
14
+ tests := []struct {
15
+ name string
16
+ args args
17
+ want TimeDuration
18
+ }{
19
+ {"ok" , args {tm }, TimeDuration {t : tm }},
20
+ {"zero" , args {time.Time {}}, TimeDuration {}},
21
+ }
22
+ for _ , tt := range tests {
23
+ t .Run (tt .name , func (t * testing.T ) {
24
+ if got := NewTimeDuration (tt .args .t ); ! reflect .DeepEqual (got , tt .want ) {
25
+ t .Errorf ("NewTimeDuration() = %v, want %v" , got , tt .want )
26
+ }
27
+ })
28
+ }
29
+ }
30
+
9
31
func TestParseTimeDuration (t * testing.T ) {
10
32
type args struct {
11
33
s string
@@ -111,15 +133,14 @@ func TestTimeDuration_MarshalJSON(t *testing.T) {
111
133
tm := time .Unix (1584198566 , 535897000 ).UTC ()
112
134
tests := []struct {
113
135
name string
114
- timeDuration * TimeDuration
136
+ timeDuration TimeDuration
115
137
want []byte
116
138
wantErr bool
117
139
}{
118
- {"null" , nil , []byte ("null" ), false },
119
- {"null" , & TimeDuration {}, []byte ("null" ), false },
120
- {"timestamp" , & TimeDuration {t : tm }, []byte (`"2020-03-14T15:09:26.535897Z"` ), false },
121
- {"duration" , & TimeDuration {d : 1 * time .Hour }, []byte (`"1h0m0s"` ), false },
122
- {"fail" , & TimeDuration {t : time .Date (- 1 , 0 , 0 , 0 , 0 , 0 , 0 , time .UTC )}, nil , true },
140
+ {"null" , TimeDuration {}, []byte ("null" ), false },
141
+ {"timestamp" , TimeDuration {t : tm }, []byte (`"2020-03-14T15:09:26.535897Z"` ), false },
142
+ {"duration" , TimeDuration {d : 1 * time .Hour }, []byte (`"1h0m0s"` ), false },
143
+ {"fail" , TimeDuration {t : time .Date (- 1 , 0 , 0 , 0 , 0 , 0 , 0 , time .UTC )}, nil , true },
123
144
}
124
145
for _ , tt := range tests {
125
146
t .Run (tt .name , func (t * testing.T ) {
@@ -182,6 +203,7 @@ func TestTimeDuration_Time(t *testing.T) {
182
203
{"zero" , nil , time.Time {}},
183
204
{"zero" , & TimeDuration {}, time.Time {}},
184
205
{"timestamp" , & TimeDuration {t : tm }, tm },
206
+ {"local" , & TimeDuration {t : tm .Local ()}, tm },
185
207
{"duration" , & TimeDuration {d : 1 * time .Hour }, tm .Add (1 * time .Hour )},
186
208
}
187
209
for _ , tt := range tests {
0 commit comments