Example #1
0
 def test_map_omit_missing_table_columns(self):
     # Currently, "omit" means "set empty". There's a valid use case for
     # actually _removing_ colnames here, but [adamhooper, 2019-01-04] we
     # haven't defined that case yet.
     dtype = ParamDType.Map(value_dtype=ParamDType.Column())
     value = dtype.omit_missing_table_columns({'a': 'X', 'b': 'Y'}, {'X'})
     self.assertEqual(value, {'a': 'X', 'b': ''})
 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(),
         })
     )))
Example #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()})
             )
         ),
     )
 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': ''})
 def test_map_coerce_non_dict(self):
     dtype = ParamDType.Map(value_dtype=ParamDType.String())
     value = dtype.coerce([1, 2, 3])
     self.assertEqual(value, {})
 def test_map_coerce_none(self):
     dtype = ParamDType.Map(value_dtype=ParamDType.String())
     value = dtype.coerce(None)
     self.assertEqual(value, {})
 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)
 def test_map_validate_ok(self):
     dtype = ParamDType.Map(value_dtype=ParamDType.String())
     value = {'a': 'b', 'c': 'd'}
     dtype.validate(value)
Example #9
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": ""})
Example #10
0
 def test_map_validate_ok(self):
     dtype = ParamDType.Map(value_dtype=ParamDType.String())
     value = {"a": "b", "c": "d"}
     dtype.validate(value)