MCPcopy Create free account
hub / github.com/cortexlabs/cortex / TestJSONMarshallable

Function TestJSONMarshallable

pkg/lib/cast/interface_test.go:190–240  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

188}
189
190func TestJSONMarshallable(t *testing.T) {
191 var ok bool
192 var in interface{}
193 var casted interface{}
194 var expected interface{}
195 var err error
196
197 in = map[string]interface{}{"test": map[interface{}]interface{}{"testing": []string{}}}
198 expected = map[string]interface{}{"test": map[string]interface{}{"testing": []interface{}{}}}
199 casted, ok = JSONMarshallable(in)
200 require.True(t, ok)
201 require.Equal(t, expected, casted)
202 _, err = json.Marshal(casted)
203 require.Equal(t, err, nil)
204
205 in = map[string]interface{}{"test": map[interface{}]interface{}{1: []string{}}, "slice": []int{1}}
206 casted, ok = JSONMarshallable(in)
207 require.False(t, ok)
208
209 in = map[string]interface{}{"test": map[interface{}]interface{}{"1": []string{}}, "slice": []int{1}}
210 expected = map[string]interface{}{"test": map[string]interface{}{"1": []interface{}{}}, "slice": []interface{}{1}}
211 casted, ok = JSONMarshallable(in)
212 require.True(t, ok)
213 require.Equal(t, expected, casted)
214 _, err = json.Marshal(casted)
215 require.Equal(t, err, nil)
216
217 in = map[string]interface{}{"test": nil}
218 expected = map[string]interface{}{"test": nil}
219 casted, ok = JSONMarshallable(in)
220 require.True(t, ok)
221 require.Equal(t, expected, casted)
222 _, err = json.Marshal(casted)
223 require.Equal(t, err, nil)
224
225 in = map[string]interface{}{"slice": []interface{}{1, "1", map[interface{}]interface{}{"key": false}}}
226 expected = map[string]interface{}{"slice": []interface{}{1, "1", map[string]interface{}{"key": false}}}
227 casted, ok = JSONMarshallable(in)
228 require.True(t, ok)
229 require.Equal(t, expected, casted)
230 _, err = json.Marshal(casted)
231 require.Equal(t, err, nil)
232
233 in = map[string]interface{}{}
234 expected = map[string]interface{}{}
235 casted, ok = JSONMarshallable(in)
236 require.True(t, ok)
237 require.Equal(t, expected, casted)
238 _, err = json.Marshal(casted)
239 require.Equal(t, err, nil)
240}
241
242func TestFlattenInterfaceSlices(t *testing.T) {
243 expected := []interface{}{"a", "b", "c"}

Callers

nothing calls this directly

Calls 2

JSONMarshallableFunction · 0.85
EqualMethod · 0.80

Tested by

no test coverage detected