all repos

mugit @ 8baa851

🐮 git server that your cow will love

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

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