github.com/WindomZ/go-commander@v1.2.2/docopt_test.go (about)

     1  package commander
     2  
     3  import (
     4  	"github.com/WindomZ/testify/assert"
     5  	"testing"
     6  )
     7  
     8  func TestDocoptMap_Get(t *testing.T) {
     9  	var m map[string]interface{} = map[string]interface{}{
    10  		"string":  "abc",
    11  		"strings": []string{"abc", "efg"},
    12  		"bool":    true,
    13  		"int":     1,
    14  		"int8":    8,
    15  		"int16":   16,
    16  		"int32":   32,
    17  		"int64":   64,
    18  		"float32": 32.32,
    19  		"float64": 64.64,
    20  	}
    21  	var d DocoptMap = newDocoptMap(m)
    22  
    23  	assert.Equal(t, d.Contain("string"), true)
    24  	assert.Equal(t, d.MustString("string"), "abc")
    25  	assert.Equal(t, d.MustString("string-x"), "")
    26  
    27  	assert.Equal(t, d.Contain("strings"), true)
    28  	assert.Equal(t, d.MustStrings("strings"), []string{"abc", "efg"})
    29  	assert.Equal(t, d.MustStrings("strings-x"), []string{})
    30  
    31  	assert.Equal(t, d.Contain("bool"), true)
    32  	assert.Equal(t, d.MustBool("bool"), true)
    33  	assert.Equal(t, d.MustBool("bool-x"), false)
    34  
    35  	assert.Equal(t, d.Contain("int"), true)
    36  	assert.Equal(t, d.MustInt("int"), 1)
    37  	assert.Equal(t, d.MustInt("int-x"), 0)
    38  
    39  	assert.Equal(t, d.Contain("int8"), true)
    40  	assert.Equal(t, d.MustInt("int8"), 8)
    41  	assert.Equal(t, d.MustInt("int8-x"), 0)
    42  
    43  	assert.Equal(t, d.Contain("int16"), true)
    44  	assert.Equal(t, d.MustInt("int16"), 16)
    45  	assert.Equal(t, d.MustInt("int16-x"), 0)
    46  
    47  	assert.Equal(t, d.Contain("int32"), true)
    48  	assert.Equal(t, d.MustInt("int32"), 32)
    49  	assert.Equal(t, d.MustInt("int32-x"), 0)
    50  
    51  	assert.Equal(t, d.Contain("int64"), true)
    52  	assert.Equal(t, d.MustInt64("int64"), int64(64))
    53  	assert.Equal(t, d.MustInt64("int64-x"), int64(0))
    54  
    55  	assert.Equal(t, d.Contain("float32"), true)
    56  	assert.Equal(t, d.MustFloat("float32"), float32(32.32))
    57  	assert.Equal(t, d.MustFloat("float32-x"), float32(0))
    58  
    59  	assert.Equal(t, d.Contain("float64"), true)
    60  	assert.Equal(t, d.MustFloat64("float64"), float64(64.64))
    61  	assert.Equal(t, d.MustFloat64("float64-x"), float64(0))
    62  }