Beispiel #1
0
 def test_clean_normal_dict(self):
     context = self._render_context()
     schema = ParamDType.Dict(
         {"str": ParamDType.String(), "int": ParamDType.Integer()}
     )
     value = {"str": "foo", "int": 3}
     expected = dict(value)  # no-op
     result = clean_value(schema, value, context)
     self.assertEqual(result, expected)
 def test_clean_normal_dict(self):
     input_shape = TableMetadata(3, [Column("A", ColumnType.Number())])
     schema = ParamDType.Dict({
         "str": ParamDType.String(),
         "int": ParamDType.Integer()
     })
     value = {"str": "foo", "int": 3}
     expected = dict(value)  # no-op
     result = clean_value(schema, value, input_shape)
     self.assertEqual(result, expected)
Beispiel #3
0
 def test_map_parse(self):
     dtype = ParamDType.parse({
         "type": "map",
         "value_dtype": {
             "type": "dict",  # test nesting
             "properties": {
                 "foo": {
                     "type": "string"
                 }
             },
         },
     })
     self.assertEqual(
         repr(dtype),
         repr(
             ParamDType.Map(value_dtype=ParamDType.Dict(
                 properties={"foo": ParamDType.String()}))),
     )
Beispiel #4
0
 def test_map_coerce_dict_wrong_value_type(self):
     dtype = ParamDType.Map(value_dtype=ParamDType.String())
     value = dtype.coerce({"a": 1, "b": None})
     self.assertEqual(value, {"a": "1", "b": ""})
Beispiel #5
0
 def test_map_coerce_non_dict(self):
     dtype = ParamDType.Map(value_dtype=ParamDType.String())
     value = dtype.coerce([1, 2, 3])
     self.assertEqual(value, {})
Beispiel #6
0
 def test_map_coerce_none(self):
     dtype = ParamDType.Map(value_dtype=ParamDType.String())
     value = dtype.coerce(None)
     self.assertEqual(value, {})
Beispiel #7
0
 def test_map_validate_bad_value_dtype(self):
     dtype = ParamDType.Map(value_dtype=ParamDType.String())
     value = {"a": 1, "c": 2}
     with self.assertRaises(ValueError):
         dtype.validate(value)
Beispiel #8
0
 def test_map_validate_ok(self):
     dtype = ParamDType.Map(value_dtype=ParamDType.String())
     value = {"a": "b", "c": "d"}
     dtype.validate(value)