def test_to_dict(self): '''method to test Amenity.to_dict()''' # testing key equality amenity_dict = Amenity().to_dict() my_dict = self.Amenity.to_dict() amenity_keys = amenity_dict.keys() my_keys = my_dict.keys() self.assertEqual(amenity_keys, my_keys) # testing attrs in dicts self.assertTrue(hasattr(amenity_dict, '__class__')) # test that __dict__ & .to_dict() are diff self.assertIsNot(self.Amenity.__dict__, self.Amenity.to_dict())
class Test_06_Amenity_To_Dict(unittest.TestCase): '''Test Amenity To_Dict Method''' def setUp(self): '''Set Up''' self.dct1 = Amenity().to_dict() self.dct2 = Amenity().to_dict() def test_01_is_dict_type(self): '''Test to_dict simple''' self.assertIsInstance(self.dct1, dict, "Failed to_dict does not prodice dict type") def test_02_required_keys(self): '''Test for proper output format''' key_list = self.dct1.keys() self.assertIn('id', key_list, "Error 'id' not in to_dict() output") self.assertIn('created_at', key_list, "Error 'created_by' not in to_dict() output") self.assertIn('updated_at', key_list, "Error 'updated_at' not in to_dict() output") self.assertIn('__class__', key_list, "Error '__class__' not in to_dict() output") def test_03_value_type(self): '''Test for proper value format''' value_list = self.dct1.values() for e in value_list: self.assertIsInstance(e, str, "Error to_dict has non-str value") def test_04_classname_value(self): '''Test if class name is properly stored''' self.assertEqual('Amenity', self.dct1['__class__'], "Error incorrect key for BaseModel") def test_05_different_to_dict(self): '''Test for different outputs''' self.assertNotEqual(self.dct1, self.dct2, "Error to_dict does not produce different output")