-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshort_duration_test.go
120 lines (112 loc) · 2.46 KB
/
short_duration_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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package main
import (
"testing"
"time"
"github.com/bmizerany/assert"
)
func TestSeconds(t *testing.T) {
inputs := []time.Duration{
142000000000 * time.Nanosecond, // 142 seconds
14200000000 * time.Nanosecond, // 14.2 seconds
1420000000 * time.Nanosecond, // 1.42 seconds
142000000 * time.Nanosecond,
14200000 * time.Nanosecond,
1420000 * time.Nanosecond, // 5.42 milliseconds
142000 * time.Nanosecond,
14200 * time.Nanosecond,
1420 * time.Nanosecond, // 1.42 microseconds
142 * time.Nanosecond,
14 * time.Nanosecond,
1 * time.Nanosecond, // 1 nanosecond
0 * time.Second,
-142000000000 * time.Nanosecond, // 142 seconds
-14200000000 * time.Nanosecond, // 14.2 seconds
-1420000000 * time.Nanosecond, // 1.42 seconds
-142000000 * time.Nanosecond,
-14200000 * time.Nanosecond,
-1420000 * time.Nanosecond, // 5.42 milliseconds
-142000 * time.Nanosecond,
-14200 * time.Nanosecond,
-1420 * time.Nanosecond, // 1.42 microseconds
-142 * time.Nanosecond,
-14 * time.Nanosecond,
-1 * time.Nanosecond, // 1 nanosecond
}
expecteds := []string{
"2m22s",
"14.2s",
"1.42s",
"142ms",
"14.2ms",
"1.42ms",
"142µs",
"14.2µs",
"1.42µs",
"142ns",
"14ns",
"1ns",
"0",
"-2m22s",
"-14.2s",
"-1.42s",
"-142ms",
"-14.2ms",
"-1.42ms",
"-142µs",
"-14.2µs",
"-1.42µs",
"-142ns",
"-14ns",
"-1ns",
}
assert.Equal(t, len(inputs), len(expecteds), "37473948793 Bad test harness")
for i, input := range inputs {
exp := expecteds[i]
candidate := ShortString(input)
assert.Equal(t, exp, candidate, "23987428u4 ", i)
}
}
func TestMoreThanSecond(t *testing.T) {
inputs := []time.Duration{
1 * time.Second, // 142 seconds
14 * time.Second,
142 * time.Second,
1420 * time.Second,
14200 * time.Second,
142000 * time.Second,
1380000 * time.Second,
1420000 * time.Second,
-1 * time.Second, // 142 seconds
-14 * time.Second,
-142 * time.Second,
-1420 * time.Second,
-14200 * time.Second,
-142000 * time.Second,
-1380000 * time.Second,
-1420000 * time.Second,
}
expecteds := []string{
"1.00s",
"14.0s",
"2m22s",
"23m40s",
"3h56m",
"39h26m",
"16.0d",
"16.4d",
"-1.00s",
"-14.0s",
"-2m22s",
"-23m40s",
"-3h56m",
"-39h26m",
"-16.0d",
"-16.4d",
}
assert.Equal(t, len(inputs), len(expecteds), "98723984 Bad test harness")
for i, input := range inputs {
exp := expecteds[i]
candidate := ShortString(input)
assert.Equal(t, exp, candidate, "98723985 ", i)
}
}