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
| package utils
|
| import (
| "testing"
| "time"
| )
|
| func TestParseDuration(t *testing.T) {
| type args struct {
| d string
| }
| tests := []struct {
| name string
| args args
| want time.Duration
| wantErr bool
| }{
| {
| name: "5h20m",
| args: args{"5h20m"},
| want: time.Hour*5 + 20*time.Minute,
| wantErr: false,
| },
| {
| name: "1d5h20m",
| args: args{"1d5h20m"},
| want: 24*time.Hour + time.Hour*5 + 20*time.Minute,
| wantErr: false,
| },
| {
| name: "1d",
| args: args{"1d"},
| want: 24 * time.Hour,
| wantErr: false,
| },
| }
| for _, tt := range tests {
| t.Run(tt.name, func(t *testing.T) {
| got, err := ParseDuration(tt.args.d)
| if (err != nil) != tt.wantErr {
| t.Errorf("ParseDuration() error = %v, wantErr %v", err, tt.wantErr)
| return
| }
| if got != tt.want {
| t.Errorf("ParseDuration() got = %v, want %v", got, tt.want)
| }
| })
| }
| }
|
|