def test_serialize_deserialize(self): a = About(version=['1.0.1', '1.0.0'], extensions={ 'extension-a': 'http://www.example.com/ext/a', 'extension-b': 'http://www.example.com/ext/b', }) self.assertEqual(a.version, ['1.0.1', '1.0.0']) self.assertIn('extension-a', a.extensions) self.assertIn('extension-b', a.extensions) self.assertSerializeDeserialize(a)
def test_serialize_deserialize_init(self): data = { 'version': ['1.0.0'], 'extensions': { 'extension-a': 'http://www.example.com/ext/a', 'extension-b': 'http://www.example.com/ext/b', }, } a = About(data) self.assertEqual(a.version, ['1.0.0']) self.assertIn('extension-a', a.extensions) self.assertIn('extension-b', a.extensions) self.assertSerializeDeserialize(a)
def test_bad_version_init(self): About(version='1.0.1') About(version=['1.0.1']) About(version=['1.0.1', '1.0.0']) with self.assertRaises(ValueError): About(version='bad version') with self.assertRaises(ValueError): About(version=['bad version']) with self.assertRaises(ValueError): About(version=['1.0.1', 'bad version']) with self.assertRaises(ValueError): About(version=['1.0.1', 'bad version'])
def test_bad_property_init(self): with self.assertRaises(AttributeError): About(bad_name=2) with self.assertRaises(AttributeError): About({'bad_name': 2})
def test_defaults(self): a = About() self.assertEqual(a.version, [Version.latest])