all repos

mugit @ 0238022

🐮 git server that your cow will love

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

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
package humanize

import (
	"testing"
	"time"

	"olexsmir.xyz/x/is"
)

func TestFormatDuration(t *testing.T) {
	tests := []struct {
		d    time.Duration
		want string
	}{
		{0, "less than a minute"},
		{30 * time.Second, "less than a minute"},
		{1 * time.Minute, "1 minute"},
		{90 * time.Second, "1 minute"},
		{2 * time.Minute, "2 minutes"},
		{43 * time.Minute, "43 minutes"},
		{1 * time.Hour, "1 hour"},
		{90 * time.Minute, "1 hour"},
		{2 * time.Hour, "2 hours"},
		{23 * time.Hour, "23 hours"},
		{24 * time.Hour, "1 day"},
		{36 * time.Hour, "1 day"},
		{48 * time.Hour, "2 days"},
		{29 * 24 * time.Hour, "29 days"},
		{30 * 24 * time.Hour, "1 month"},
		{45 * 24 * time.Hour, "1 month"},
		{60 * 24 * time.Hour, "2 months"},
		{364 * 24 * time.Hour, "12 months"},
		{365 * 24 * time.Hour, "1 year"},
		{500 * 24 * time.Hour, "1 year"},
		{730 * 24 * time.Hour, "2 years"},
		{1000 * 24 * time.Hour, "2 years"},
	}

	for _, tt := range tests {
		is.Equal(t, tt.want, formatDuration(tt.d))
	}
}