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