all repos

mugit @ 8e0f8085e2aefa34ff3e5d695c1a0bed4a976eda

🐮 git server that your cow will love

mugit/internal/humanize/time_test.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
fix naming inconsistencies; use is for testsing, 4 months ago
1
package humanize
2
3
import (
4
	"testing"
5
	"time"
6
7
	"olexsmir.xyz/x/is"
8
)
9
10
func TestFormatDuration(t *testing.T) {
11
	tests := []struct {
12
		d    time.Duration
13
		want string
14
	}{
15
		{0, "less than a minute"},
16
		{30 * time.Second, "less than a minute"},
17
		{1 * time.Minute, "1 minute"},
18
		{90 * time.Second, "1 minute"},
19
		{2 * time.Minute, "2 minutes"},
20
		{43 * time.Minute, "43 minutes"},
21
		{1 * time.Hour, "1 hour"},
22
		{90 * time.Minute, "1 hour"},
23
		{2 * time.Hour, "2 hours"},
24
		{23 * time.Hour, "23 hours"},
25
		{24 * time.Hour, "1 day"},
26
		{36 * time.Hour, "1 day"},
27
		{48 * time.Hour, "2 days"},
28
		{29 * 24 * time.Hour, "29 days"},
29
		{30 * 24 * time.Hour, "1 month"},
30
		{45 * 24 * time.Hour, "1 month"},
31
		{60 * 24 * time.Hour, "2 months"},
32
		{364 * 24 * time.Hour, "12 months"},
33
		{365 * 24 * time.Hour, "1 year"},
34
		{500 * 24 * time.Hour, "1 year"},
35
		{730 * 24 * time.Hour, "2 years"},
36
		{1000 * 24 * time.Hour, "2 years"},
37
	}
38
39
	for _, tt := range tests {
40
		is.Equal(t, tt.want, formatDuration(tt.d))
41
	}
42
}