github.com/beanworks/dcm@v0.0.0-20230726194615-49d2d0417e04/src/util_test.go (about) 1 package main 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestGetMapVal(t *testing.T) { 10 fixture := yamlConfig{ 11 "foo": "bar", 12 "aaa": yamlConfig{ 13 "bbb": "ccc", 14 }, 15 } 16 17 assert.Equal(t, fixture, getMapVal(fixture)) 18 assert.Equal(t, "bar", getMapVal(fixture, "foo")) 19 assert.Equal(t, yamlConfig{"bbb": "ccc"}, getMapVal(fixture, "aaa")) 20 assert.Equal(t, "ccc", getMapVal(fixture, "aaa", "bbb")) 21 22 assert.Equal(t, nil, getMapVal(fixture, "foo", "bar")) 23 assert.Equal(t, nil, getMapVal(fixture, "foo", "bar", "baz")) 24 assert.Equal(t, nil, getMapVal(fixture, "foo", "bar", "baz", "qux")) 25 assert.Equal(t, nil, getMapVal(fixture, "aaa", "bbb", "ccc")) 26 assert.Equal(t, nil, getMapVal(fixture, "aaa", "bbb", "ccc", "ddd")) 27 assert.Equal(t, nil, getMapVal(fixture, "aaa", "bbb", "ccc", "ddd", "eee")) 28 assert.Equal(t, nil, getMapVal(fixture, "invalid", "key")) 29 }