Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    def test_places_count(self):
        car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        car2 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        garage = Garage(rnd_town(), 5, rnd_uuid(), [car1, car2])

        self.assertEqual(garage.places_count(), 3)
Exemplo n.º 3
0
    def test_comparison(self):
        car1 = Car(1000.0, rnd_car_type(), rnd_car_producer(), rnd_float())
        car2 = Car(2000.0, rnd_car_type(), rnd_car_producer(), rnd_float())
        car3 = Car(1000.0, rnd_car_type(), rnd_car_producer(), rnd_float())

        self.assertGreater(car2, car1)
        self.assertGreaterEqual(car1, car3)
        self.assertLess(car1, car2)
        self.assertLessEqual(car1, car3)
Exemplo n.º 4
0
    def test_hit_hat(self):
        car1 = Car(1000.0, rnd_car_type(), rnd_car_producer(), rnd_float())
        car2 = Car(2000.0, rnd_car_type(), rnd_car_producer(), rnd_float())
        car3 = Car(3000.0, rnd_car_type(), rnd_car_producer(), rnd_float())

        garage1 = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car1])
        garage2 = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car2, car3])
        cesar = Cesar(rnd_name(), [garage1, garage2])

        self.assertEqual(cesar.hit_hat(), 6000)
Exemplo n.º 5
0
    def test_hit_hat(self):
        car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        car2 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        garage = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car1, car2])

        self.assertEqual(garage.hit_hat(), car1.price + car2.price)

        garage = Garage(rnd_town(), rnd_int(), rnd_uuid())
        self.assertEqual(garage.hit_hat(), 0)
Exemplo n.º 6
0
    def test_add_car(self):
        car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        garage = Garage(rnd_town(), 10, rnd_uuid(), [car1])

        car2 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())

        self.assertTrue(garage.add(car2))
        self.assertTrue(car2.number in garage.cars)
        self.assertEqual(garage.cars[car2.number], car2)
Exemplo n.º 7
0
    def test_not_equal_producer(self):
        price = rnd_float()
        car_type = rnd_car_type()
        car_producer = rnd_car_producer()
        mileage = rnd_float()
        number = rnd_uuid()

        car1 = Car(price, car_type, car_producer, mileage, number)
        car2 = Car(price, car_type, rnd_car_producer(car_producer), mileage,
                   number)
        self.assertNotEqual(car1, car2)
Exemplo n.º 8
0
    def test_remove_not_existing_car(self):
        car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        garage = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car1])

        car2 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())

        before_cars = garage.cars
        self.assertFalse(garage.remove(car2))
        after_cars = garage.cars
        self.assertEqual(before_cars, after_cars)
Exemplo n.º 9
0
    def test_add_when_no_places(self):
        car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        garage = Garage(rnd_town(), 1, rnd_uuid(), [car1])

        car2 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())

        before_cars = garage.cars
        self.assertFalse(garage.add(car2))
        after_cars = garage.cars
        self.assertEqual(before_cars, after_cars)
Exemplo n.º 10
0
    def test_cars_count(self):
        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())

        garage1 = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car1])
        garage2 = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car2, car3])
        cesar = Cesar(rnd_name(), [garage1, garage2])

        self.assertEqual(cesar.cars_count(), 3)
Exemplo n.º 11
0
    def test_not_equal_number(self):
        car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        car2 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())

        town = rnd_town()
        places = rnd_int()
        owner = rnd_uuid()
        cars = [car1, car2]
        number = rnd_uuid()

        garage1 = Garage(town, places, owner, cars, number)
        garage2 = Garage(town, places, owner, cars, rnd_uuid())
        self.assertNotEqual(garage1, garage2)
Exemplo n.º 12
0
    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)
Exemplo n.º 13
0
    def test_not_equal_register_id(self):
        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())
        garage1 = Garage(rnd_town(), rnd_int(), None, [car1, car2])
        garage2 = Garage(rnd_town(), rnd_int(), None, [car3])

        name = rnd_name()
        garages = [garage1, garage2]
        register_id = rnd_uuid()

        cesar1 = Cesar(name, garages, register_id)
        cesar2 = Cesar(name, garages, rnd_uuid())
        self.assertNotEqual(cesar1, cesar2)
Exemplo n.º 14
0
    def test_remove_car(self):
        car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        garage = Garage(rnd_town(), 10, rnd_uuid(), [car1])

        self.assertTrue(garage.remove(car1))
        self.assertTrue(car1.number not in garage.cars)
        self.assertEqual(garage.cars, {})
Exemplo n.º 15
0
    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)
Exemplo n.º 16
0
    def test_add_same_car(self):
        car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        garage = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car1])

        before_cars = garage.cars
        self.assertFalse(garage.add(car1))
        after_cars = garage.cars
        self.assertEqual(before_cars, after_cars)
Exemplo n.º 17
0
    def test_remove_instance(self):
        car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                   rnd_float())
        garage = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car1])

        with self.assertRaises(TypeError):
            garage.add('My Car')

        with self.assertRaises(TypeError):
            garage.add([car1])
Exemplo n.º 18
0
    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)
Exemplo n.º 19
0
    def test_comparison(self):
        car1 = Car(1000.0, rnd_car_type(), rnd_car_producer(), rnd_float())
        car2 = Car(2000.0, rnd_car_type(), rnd_car_producer(), rnd_float())
        garage1 = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car1, car2])
        cesar1 = Cesar(rnd_name(), [garage1])

        car1 = Car(1000.0, rnd_car_type(), rnd_car_producer(), rnd_float())
        car2 = Car(3000.0, rnd_car_type(), rnd_car_producer(), rnd_float())
        garage1 = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car1, car2])
        cesar2 = Cesar(rnd_name(), [garage1])

        car1 = Car(2000.0, rnd_car_type(), rnd_car_producer(), rnd_float())
        car2 = Car(1000.0, rnd_car_type(), rnd_car_producer(), rnd_float())
        garage1 = Garage(rnd_town(), rnd_int(), rnd_uuid(), [car1, car2])
        cesar3 = Cesar(rnd_name(), [garage1])

        self.assertGreater(cesar2, cesar1)
        self.assertGreaterEqual(cesar1, cesar3)
        self.assertLess(cesar1, cesar2)
        self.assertLessEqual(cesar1, cesar3)
Exemplo n.º 20
0
 def test_init_with_invalid_car_type(self):
     for value in ['My Type', 1000, ['Type 1', 'Type 2']]:
         with self.assertRaises(InvalidValueException):
             Car(rnd_float(), value, rnd_car_producer(), rnd_float())
Exemplo n.º 21
0
 def test_set_number(self):
     car = Car(rnd_float(), rnd_car_type(), rnd_car_producer(), rnd_float())
     new_number = rnd_uuid()
     car.set_number(new_number)
     self.assertEqual(car.number, new_number)
     self.assertIsInstance(car.number, uuid.UUID)
Exemplo n.º 22
0
 def test_init_with_invalid_number(self):
     for value in ['some string', 1000]:
         with self.assertRaises(ValueError):
             Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                 rnd_float(), value)
Exemplo n.º 23
0
 def test_init_with_invalid_cars(self):
     car1 = Car(rnd_float(), rnd_car_type(), rnd_car_producer(),
                rnd_float())
     for value in ['My Car', car1, {'car': car1}]:
         with self.assertRaises(ValueError):
             Garage(rnd_town(), rnd_int(), rnd_uuid(), value)
Exemplo n.º 24
0
 def test_init_with_invalid_mileage(self):
     for value in [1000, '5000', '111,23']:
         with self.assertRaises(ValueError):
             Car(rnd_float(), rnd_car_type(), rnd_car_producer(), value)