def test_avoid_collisions(self): road = Road(5, 10, None) cars1 = [Car(road, (0, 0)), Car(road, (0, 2)), Car(road, (0, 4))] cars2 = [Car(road, (1, 0)), Car(road, (1, 3))] cars3 = [Car(road, (2, 3)), Car(road, (2, 4))] road.placeObjects(cars1 + cars2 + cars3) for car in cars1: self.assertFalse(road.possibleLaneChangeUp(car.pos)) self.assertFalse(road.possibleLaneChangeDown(car.pos)) self.assertTrue(road.possibleLaneChangeDown(cars2[0].pos)) self.assertFalse(road.possibleLaneChangeUp(cars2[0].pos)) self.assertTrue(road.possibleLaneChangeDown(cars2[1].pos)) self.assertTrue(road.possibleLaneChangeUp(cars2[1].pos)) self.assertTrue(road.possibleLaneChangeUp(cars3[0].pos)) self.assertFalse(road.possibleLaneChangeDown(cars3[0].pos)) self.assertFalse(road.possibleLaneChangeUp(cars3[1].pos)) self.assertFalse(road.possibleLaneChangeDown(cars3[1].pos))
def test_avoid_collisions(self): road = Road(5, 10, None) cars1 = [Car(road, (0, 0)), Car(road, (0, 2)), Car(road, (0, 4))] cars2 = [Car(road, (1, 0)), Car(road, (1, 3))] cars3 = [Car(road, (2, 3)), Car(road, (2, 4))] road.placeObjects( cars1 + cars2 + cars3 ) for car in cars1: self.assertFalse( road.possibleLaneChangeUp(car.pos) ) self.assertFalse( road.possibleLaneChangeDown(car.pos) ) self.assertTrue( road.possibleLaneChangeDown(cars2[0].pos) ) self.assertFalse( road.possibleLaneChangeUp(cars2[0].pos) ) self.assertTrue( road.possibleLaneChangeDown(cars2[1].pos) ) self.assertTrue( road.possibleLaneChangeUp(cars2[1].pos) ) self.assertTrue( road.possibleLaneChangeUp(cars3[0].pos )) self.assertFalse( road.possibleLaneChangeDown(cars3[0].pos )) self.assertFalse( road.possibleLaneChangeUp(cars3[1].pos )) self.assertFalse( road.possibleLaneChangeDown(cars3[1].pos ))