forked from a8m/tree
-
Notifications
You must be signed in to change notification settings - Fork 0
/
format_test.go
105 lines (94 loc) · 1.8 KB
/
format_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
package tree
import (
"testing"
)
func TestFormatBytes(t *testing.T) {
data := []struct {
val int64
res string
}{
{0, "0"}, // 0
{1, "1"},
{2, "2"},
{9, "9"},
{10, "10"},
{11, "11"},
{99, "99"},
{100, "100"},
{101, "101"},
{999, "999"},
{1000, "1.0K"}, // 10
{1001, "1.0K"},
{1002, "1.0K"},
{1202, "1.2K"},
{9202, "9.2K"},
{9849, "9.8K"},
{9900, "9.9K"},
{9900, "9.9K"},
{9999, "10K"},
{10000, "10K"},
{10001, "10K"}, // 20
{10022, "10K"},
{10333, "10K"},
{14444, "14K"},
{19999, "20K"},
{1000 * 1024, "1.0M"},
{1000 * 1001, "1.0M"},
{1000 * 1002, "1.0M"},
{1000 * 1202, "1.2M"},
{1000 * 9202, "9.2M"},
{1000 * 9202, "9.2M"}, // 30
{1000 * 9849, "9.8M"},
{1000 * 9900, "9.9M"},
{1000 * 9900, "9.9M"},
{1000 * 9999, "10M"},
{1000 * 10000, "10M"},
{1000 * 10001, "10M"},
{1000 * 10022, "10M"},
{1000 * 10333, "10M"},
{1000 * 14444, "14M"},
{1000 * 19999, "20M"}, // 40
}
for i := range data {
val := data[i].val
res := data[i].res
if tst := formatBytes(val); tst != res {
t.Errorf("data not equal: %v: %v\n tst=<%s>\n got <%s>\n",
i, val, res, tst)
}
}
}
func TestFormatBytesKiB(t *testing.T) {
data := []struct {
val int64
res string
}{
{0, "0"}, // 0
{1, "1"},
{2, "2"},
{9, "9"},
{10, "10"},
{11, "11"},
{99, "99"},
{100, "100"},
{101, "101"},
{999, "999"},
{1024 + 0, "1.0K"}, // 10
{1024 + 1, "1.0K"},
{1024 + 2, "1.0K"},
{1024 + 202, "1.2K"},
{1024*1024 - 2, "1024K"},
{1024*1024 - 1, "1024K"}, // 15
{1024 * 1024, "1.0M"},
{1024*1024 + 1, "1.0M"},
{1024*1024 + 2, "1.0M"},
}
for i := range data {
val := data[i].val
res := data[i].res
if tst := formatBytesKiB(val); tst != res {
t.Errorf("data not equal: %v: %v\n tst=<%s>\n got <%s>\n",
i, val, res, tst)
}
}
}