github.com/xuyutom/docker@v1.6.0/pkg/units/duration_test.go (about)

     1  package units
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  )
     7  
     8  func TestHumanDuration(t *testing.T) {
     9  	// Useful duration abstractions
    10  	day := 24 * time.Hour
    11  	week := 7 * day
    12  	month := 30 * day
    13  	year := 365 * day
    14  
    15  	assertEquals(t, "Less than a second", HumanDuration(450*time.Millisecond))
    16  	assertEquals(t, "47 seconds", HumanDuration(47*time.Second))
    17  	assertEquals(t, "About a minute", HumanDuration(1*time.Minute))
    18  	assertEquals(t, "3 minutes", HumanDuration(3*time.Minute))
    19  	assertEquals(t, "35 minutes", HumanDuration(35*time.Minute))
    20  	assertEquals(t, "35 minutes", HumanDuration(35*time.Minute+40*time.Second))
    21  	assertEquals(t, "About an hour", HumanDuration(1*time.Hour))
    22  	assertEquals(t, "About an hour", HumanDuration(1*time.Hour+45*time.Minute))
    23  	assertEquals(t, "3 hours", HumanDuration(3*time.Hour))
    24  	assertEquals(t, "3 hours", HumanDuration(3*time.Hour+59*time.Minute))
    25  	assertEquals(t, "4 hours", HumanDuration(3*time.Hour+60*time.Minute))
    26  	assertEquals(t, "24 hours", HumanDuration(24*time.Hour))
    27  	assertEquals(t, "36 hours", HumanDuration(1*day+12*time.Hour))
    28  	assertEquals(t, "2 days", HumanDuration(2*day))
    29  	assertEquals(t, "7 days", HumanDuration(7*day))
    30  	assertEquals(t, "13 days", HumanDuration(13*day+5*time.Hour))
    31  	assertEquals(t, "2 weeks", HumanDuration(2*week))
    32  	assertEquals(t, "2 weeks", HumanDuration(2*week+4*day))
    33  	assertEquals(t, "3 weeks", HumanDuration(3*week))
    34  	assertEquals(t, "4 weeks", HumanDuration(4*week))
    35  	assertEquals(t, "4 weeks", HumanDuration(4*week+3*day))
    36  	assertEquals(t, "4 weeks", HumanDuration(1*month))
    37  	assertEquals(t, "6 weeks", HumanDuration(1*month+2*week))
    38  	assertEquals(t, "8 weeks", HumanDuration(2*month))
    39  	assertEquals(t, "3 months", HumanDuration(3*month+1*week))
    40  	assertEquals(t, "5 months", HumanDuration(5*month+2*week))
    41  	assertEquals(t, "13 months", HumanDuration(13*month))
    42  	assertEquals(t, "23 months", HumanDuration(23*month))
    43  	assertEquals(t, "24 months", HumanDuration(24*month))
    44  	assertEquals(t, "2.010959 years", HumanDuration(24*month+2*week))
    45  	assertEquals(t, "3.164384 years", HumanDuration(3*year+2*month))
    46  }