def test_init_add_car(self): garage1 = Garage(rnd_town(), 1) garage2 = Garage(rnd_town(), 2) cesar = Cesar(rnd_name(), [garage1]) car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(), rnd_float()) car2 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(), rnd_float()) car3 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(), rnd_float()) cesar.add_car(car1, garage1) cesar.add_car(car2, garage2) cesar.add_car(car3, garage2) self.assertEqual(cesar.register_id, garage1.owner) self.assertEqual(cesar.register_id, garage2.owner) self.assertEqual(garage1.cars_count(), 1) self.assertEqual(garage2.cars_count(), 2) self.assertTrue(car1.number in garage1.cars) self.assertTrue(car2.number in garage2.cars) self.assertTrue(car3.number in garage2.cars)
def test_init_add_car_instance(self): cesar = Cesar(rnd_name()) car = Car(rnd_float(), rnd_car_type(), rnd_car_producer(), rnd_float()) for value in [1000, 'some string', [car]]: with self.assertRaises(TypeError): cesar.add_car(value)
def test_init_add_car_garage_instance(self): cesar = Cesar(rnd_name()) garage = Garage(rnd_town(), rnd_int(), rnd_uuid()) car = Car(rnd_float(), rnd_car_type(), rnd_car_producer(), rnd_float()) for value in [1000, 'some string', [garage]]: with self.assertRaises(TypeError): cesar.add_car(car, value)
def test_init_add_car_emptiest_garage(self): garage1 = Garage(rnd_town(), 1, rnd_uuid()) garage2 = Garage(rnd_town(), 2, rnd_uuid()) garage3 = Garage(rnd_town(), 3, rnd_uuid()) cesar = Cesar(rnd_name(), [garage1, garage2, garage3]) car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(), rnd_float()) car2 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(), rnd_float()) cesar.add_car(car1) self.assertEqual(garage1.places_count(), 1) self.assertEqual(garage2.places_count(), 2) self.assertEqual(garage3.places_count(), 2) cesar.add_car(car2) self.assertEqual(garage1.places_count(), 1) self.assertEqual(garage2.places_count(), 1) self.assertEqual(garage3.places_count(), 2)
def test_init_with_invalid_register_id(self): for value in [1000, 'some string']: with self.assertRaises(ValueError): Cesar(rnd_name(), [], value)
def test_init_with_invalid_garages(self): garage1 = Garage(rnd_town(), rnd_int(), rnd_uuid()) for value in ['My Garage', garage1, {'garage': garage1}]: with self.assertRaises(ValueError): Cesar(rnd_name(), [], value)