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  }