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