(t *testing.T)
| 141 | } |
| 142 | |
| 143 | func TestValueSourceChain(t *testing.T) { |
| 144 | t.Run("implements ValueSource", func(t *testing.T) { |
| 145 | vsc := &ValueSourceChain{} |
| 146 | r := require.New(t) |
| 147 | |
| 148 | r.Implements((*ValueSource)(nil), vsc) |
| 149 | |
| 150 | _, ok := vsc.Lookup() |
| 151 | r.False(ok) |
| 152 | }) |
| 153 | |
| 154 | t.Run("implements fmt.GoStringer", func(t *testing.T) { |
| 155 | vsc := &ValueSourceChain{} |
| 156 | r := require.New(t) |
| 157 | |
| 158 | r.Implements((*fmt.GoStringer)(nil), vsc) |
| 159 | r.Equal("&ValueSourceChain{Chain:{}}", vsc.GoString()) |
| 160 | |
| 161 | vsc1 := NewValueSourceChain(&staticValueSource{v: "yahtzee"}, |
| 162 | &staticValueSource{v: "matzoh"}, |
| 163 | ) |
| 164 | r.Equal("&ValueSourceChain{Chain:{&staticValueSource{v:\"yahtzee\"},&staticValueSource{v:\"matzoh\"}}}", vsc1.GoString()) |
| 165 | }) |
| 166 | |
| 167 | t.Run("implements fmt.Stringer", func(t *testing.T) { |
| 168 | vsc := &ValueSourceChain{} |
| 169 | r := require.New(t) |
| 170 | |
| 171 | r.Implements((*fmt.Stringer)(nil), vsc) |
| 172 | r.Equal("", vsc.String()) |
| 173 | |
| 174 | vsc1 := NewValueSourceChain( |
| 175 | &staticValueSource{v: "soup"}, |
| 176 | &staticValueSource{v: "salad"}, |
| 177 | &staticValueSource{v: "pumpkins"}, |
| 178 | ) |
| 179 | r.Equal("soup,salad,pumpkins", vsc1.String()) |
| 180 | }) |
| 181 | } |
| 182 | |
| 183 | type staticValueSource struct { |
| 184 | v string |
nothing calls this directly
no test coverage detected