def test_instantiation(self): """Test proper instantiation of object 'User()'""" ci = City() self.assertIsInstance(ci, City) self.assertIsInstance(ci.id, str) self.assertIsInstance(ci.created_at, datetime.datetime) self.assertIsInstance(ci.updated_at, datetime.datetime) self.assertIsInstance(ci.__class__, type) ci.size = "tall" l1 = dir(ci) self.assertIn('size', l1) self.assertEqual(ci.__dict__['size'], 'tall') ci.size = 'tall' l2 = dir(ci) self.assertIn('size', l2) self.assertEqual(ci.__dict__['size'], 'tall') ci.age = 28 l3 = dir(ci) self.assertIn('age', l3) self.assertEqual(ci.__dict__['age'], 28) ci.age = 28.5 l4 = dir(ci) self.assertIn('age', l4) self.assertEqual(ci.__dict__['age'], 28.5) ci.age = None l5 = dir(ci) self.assertIn('age', l5) self.assertEqual(ci.__dict__['age'], None) ci_kw1 = City(**{}) self.assertIsInstance(ci_kw1, City) self.assertIsInstance(ci_kw1.id, str) self.assertIsInstance(ci_kw1.created_at, datetime.datetime) self.assertIsInstance(ci_kw1.updated_at, datetime.datetime) self.assertIsInstance(ci_kw1.__class__, type) ci_kw2 = City(**{"first_name": "John", "age": 25}) l6 = dir(ci_kw2) self.assertIn('first_name', l6) self.assertIn('age', l6) self.assertEqual(ci_kw2.__dict__['first_name'], 'John') self.assertEqual(ci_kw2.__dict__['age'], 25)
def test_to_dict(self): """Test to_dict method""" ci = City() ci.age = 28 ci.size = "tall" for k, v in ci.__dict__.items(): if k != 'updated_at' and k != 'created_at': self.assertIn(k, ci.to_dict()) self.assertEqual(v, ci.to_dict()[k]) self.assertEqual(ci.to_dict()['__class__'], ci.__class__.__name__) self.assertEqual(ci.to_dict()['updated_at'], ci.updated_at.isoformat()) self.assertEqual(ci.to_dict()['created_at'], ci.created_at.isoformat()) self.assertEqual(ci.to_dict()['age'], 28) self.assertEqual(ci.to_dict()['size'], 'tall') self.assertIsInstance(ci.to_dict(), dict)