github.com/docker/docker-ce@v17.12.1-ce-rc2+incompatible/components/cli/opts/duration_test.go (about) 1 package opts 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestDurationOptString(t *testing.T) { 11 dur := time.Duration(300 * 10e8) 12 duration := DurationOpt{value: &dur} 13 assert.Equal(t, "5m0s", duration.String()) 14 } 15 16 func TestDurationOptSetAndValue(t *testing.T) { 17 var duration DurationOpt 18 assert.NoError(t, duration.Set("300s")) 19 assert.Equal(t, time.Duration(300*10e8), *duration.Value()) 20 assert.NoError(t, duration.Set("-300s")) 21 assert.Equal(t, time.Duration(-300*10e8), *duration.Value()) 22 } 23 24 func TestPositiveDurationOptSetAndValue(t *testing.T) { 25 var duration PositiveDurationOpt 26 assert.NoError(t, duration.Set("300s")) 27 assert.Equal(t, time.Duration(300*10e8), *duration.Value()) 28 assert.EqualError(t, duration.Set("-300s"), "duration cannot be negative") 29 }