def test_basic(self): """Test for BaseModel """ a = Amenity() a.name = "Holberton" a.number = 89 self.assertEqual([a.name, a.number], ["Holberton", 89])
def test_amenity_dict_to_instance_with_kwargs(self): """Amenity can instantiate new object with dictionary""" amenity = Amenity() amenity.name = "Betty" amenity.number = 972 amenity_dict = amenity.to_dict() new_amenity = Amenity(**amenity_dict) new_amenity_dict = new_amenity.to_dict() self.assertFalse(new_amenity is amenity) self.assertDictEqual(new_amenity_dict, amenity_dict)
def test_attr(self): """ Tests creation of new attributes """ m1 = Amenity() m1.name = "John" self.assertAlmostEqual(m1.name, "John") m1.number = 123 self.assertAlmostEqual(m1.number, 123) self.assertEqual(type(m1.id), str) self.assertEqual(type(m1.created_at), datetime.datetime) self.assertEqual(type(m1.updated_at), datetime.datetime)
def test_06a_to_dict_values(self): """Test to validate to_dict values are all strings""" a = Amenity() a.name = "Tu" a.number = 1987 d = a.to_dict() self.assertEqual(type(d['name']), str) self.assertEqual(type(d['number']), int) self.assertEqual(type(d['created_at']), str) self.assertEqual(type(d['updated_at']), str) self.assertEqual(type(d['id']), str) self.assertEqual(type(d['__class__']), str)
def test_06_to_dict(self): """Test to validate to_dict is outputting correctly""" a = Amenity() a.name = "Tu" a.number = 1987 d = a.to_dict() self.assertTrue('number' in d) self.assertTrue('name' in d) self.assertTrue('id' in d) self.assertTrue('created_at' in d) self.assertTrue('updated_at' in d) self.assertTrue('__class__' in d)
def test_to_dict(self): """ dictionary conversion test """ i = Amenity() i.name = "Cute_anime_girl" i.number = 25 j = i.to_dict() self.assertTrue("name" in j) self.assertEqual(type(j["name"]), str) self.assertTrue("number" in j) self.assertEqual(type(j["number"]), int) self.assertTrue("created_at" in j) self.assertTrue("updated_at" in j) self.assertTrue("id" in j)
def test_07_recreate_instance(self): """Test to create instances from to_dict""" a = Amenity() a.name = "Tim" a.number = 1993 d = a.to_dict() new_a = Amenity(**d) self.assertEqual(a.id, new_a.id) self.assertEqual(a.created_at, new_a.created_at) self.assertEqual(a.updated_at, new_a.updated_at) self.assertEqual(a.name, new_a.name) self.assertEqual(a.number, new_a.number) self.assertEqual(type(new_a.id), str) self.assertEqual(new_a.created_at.__class__.__name__, "datetime")
def test_reCreate_kwarg(self): """Recreate dictionary from saved dictionary""" k = Amenity() k.name = "Cute_anime_girl" k.number = 99 j = k.to_dict() l = Amenity(**j) self.assertEqual(k.name, l.name) self.assertEqual(k.number, l.number) self.assertEqual(k.id, l.id) self.assertEqual(k.created_at, l.created_at) self.assertEqual(k.updated_at, l.updated_at) self.assertEqual(type(k.id), str) self.assertFalse(k is j)
def test_03_adding_extra_parameters(self): """Test for manually adding parameters to empty BaseModel""" a = Amenity() a.string = "Tu" a.number = 1106 a.list = [1, 2, 3] a.dict = {"a": 1} self.assertTrue(hasattr(a, "string")) self.assertTrue(hasattr(a, "number")) self.assertTrue(hasattr(a, "list")) self.assertTrue(hasattr(a, "dict")) self.assertEqual(type(a.string), str) self.assertEqual(type(a.number), int) self.assertEqual(type(a.list), list) self.assertEqual(type(a.dict), dict)
def test_5_dict_method(self): """test to_dict methods return""" model_1 = Amenity() model_1.name = "Alejandra" model_1.number = 89 my_model_dict = model_1.to_dict() # checks it is a type dictionary self.assertEqual(type(my_model_dict), dict) # check ISOFORMAT date_model1 = model_1.created_at str_date = date_model1.strftime("%Y-%m-%dT%H:%M:%S.%f") self.assertEqual(my_model_dict['created_at'], str_date) # check other key self.assertEqual(model_1.name, my_model_dict['name'])