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 }