Ejemplo n.º 1
0
 def test__same(self):
     kwargs = dict(
         standard_name=1, long_name=2, var_name=3, units=4, attributes=5
     )
     metadata = metadata_manager_factory(BaseMetadata, **kwargs)
     other = metadata_manager_factory(BaseMetadata, **kwargs)
     self.assertEqual(metadata.values._asdict(), kwargs)
     self.assertEqual(metadata, other)
 def test(self):
     for base in self.bases:
         fields = base._fields
         metadata = metadata_manager_factory(base)
         self.assertEqual(metadata.fields, fields)
         for field in fields:
             hasattr(metadata, field)
Ejemplo n.º 3
0
    def test__subclass_invalid(self):
        class Other:
            pass

        emsg = "Require a subclass of 'BaseMetadata'"
        with self.assertRaisesRegex(TypeError, emsg):
            _ = metadata_manager_factory(Other)
 def test__not_values(self):
     standard_name = mock.sentinel.standard_name
     other = metadata_manager_factory(BaseMetadata,
                                      standard_name=standard_name)
     self.assertEqual(other.standard_name, standard_name)
     self.assertIsNone(other.long_name)
     self.assertIsNone(other.var_name)
     self.assertIsNone(other.units)
     self.assertIsNone(other.attributes)
     self.assertNotEqual(self.metadata, other)
 def setUp(self):
     self.standard_name = "standard_name"
     self.long_name = "long_name"
     self.var_name = "var_name"
     self.units = Unit("1")
     self.attributes = dict(hello="world")
     values = (
         self.standard_name,
         self.long_name,
         self.var_name,
         self.units,
         self.attributes,
     )
     kwargs = dict(zip(BaseMetadata._fields, values))
     self.metadata = metadata_manager_factory(BaseMetadata, **kwargs)
 def test__namespace(self):
     namespace = [
         "DEFAULT_NAME",
         "__init__",
         "__eq__",
         "__getstate__",
         "__ne__",
         "__reduce__",
         "__repr__",
         "__setstate__",
         "fields",
         "name",
         "token",
         "values",
     ]
     for base in self.bases:
         metadata = metadata_manager_factory(base)
         for name in namespace:
             self.assertTrue(hasattr(metadata, name))
         if base is CubeMetadata:
             self.assertTrue(hasattr(metadata, "_names"))
         self.assertIs(metadata.cls, base)
 def test__not_is_cls(self):
     base = BaseMetadata
     other = metadata_manager_factory(base)
     self.assertIs(other.cls, base)
     other.cls = CoordMetadata
     self.assertNotEqual(self.metadata, other)
 def setUp(self):
     self.metadata = metadata_manager_factory(BaseMetadata)
 def test__kwargs(self):
     for base in self.bases:
         kwargs = dict(zip(base._fields, range(len(base._fields))))
         metadata = metadata_manager_factory(base, **kwargs)
         self.assertEqual(metadata.values._asdict(), kwargs)
Ejemplo n.º 10
0
 def test__kwargs_default(self):
     for base in self.bases:
         kwargs = dict(zip(base._fields, [None] * len(base._fields)))
         metadata = metadata_manager_factory(base)
         self.assertEqual(metadata.values._asdict(), kwargs)
Ejemplo n.º 11
0
 def test__kwargs_invalid(self):
     emsg = "Invalid 'BaseMetadata' field parameters, got 'wibble'."
     with self.assertRaisesRegex(ValueError, emsg):
         metadata_manager_factory(BaseMetadata, wibble="nope")
Ejemplo n.º 12
0
 def test(self):
     for base in self.bases:
         metadata = metadata_manager_factory(base)
         result = metadata.values
         self.assertIsInstance(result, base)
         self.assertEqual(result._fields, base._fields)
Ejemplo n.º 13
0
 def test__same_default(self):
     other = metadata_manager_factory(BaseMetadata)
     self.assertEqual(self.metadata, other)