예제 #1
0
def test_move_simple():
    """Test moving a car to another location."""
    manager = SuperDuperManager()
    manager.add_car('car1', 2)
    manager.add_car('car2', 10)
    manager.add_car('car3', 20)
    manager.move_car('car2', 2, 3)
    assert manager.get_car_position('car2') == (2, 3)
    assert manager.get_car_fuel('car2') == 5
예제 #2
0
def test_move_negative():
    """Test moving a car to a position with negative coordinates."""
    manager = SuperDuperManager()
    manager.add_car('car1', 2)
    manager.add_car('car2', 10)
    manager.add_car('car3', 20)
    manager.move_car('car2', 2, 3)
    manager.move_car('car3', -2, -3)
    assert manager.get_car_position('car3') == (-2, -3)
    assert manager.get_car_fuel('car3') == 15
예제 #3
0
def test_move_not_enough():
    """Test moving a car that doesn't have enough fuel."""
    manager = SuperDuperManager()
    manager.add_car('car1', 2)
    manager.add_car('car2', 10)
    manager.add_car('car3', 20)
    manager.move_car('car2', 2, 3)
    manager.move_car('car1', 3, 5)
    assert manager.get_car_position('car1') == (0, 0)
    assert manager.get_car_fuel('car1') == 2
예제 #4
0
def test_dispatch():
    """Test moving a car that doesn't have enough fuel."""
    manager = SuperDuperManager()
    manager.add_car('car1', 30)
    manager.add_car('car2', 30)
    manager.add_car('car3', 20)
    manager.move_car('car2', 6, 2)
    manager.move_car('car1', 3, 5)
    manager.dispatch(6, 6)
    assert manager.get_car_position('car1') == (6, 6)
예제 #5
0
class TestCar(unittest.TestCase):
    """Sample unit tests for Exercise 1."""
    def setUp(self):
        """This is a special method that's called at the beginning of each test.

        It is used to create a SuperDuperManager object with three cars;
        these will be the cars used in subsequent tests.
        """
        self.manager = SuperDuperManager()
        self.manager.add_car('car1', 2)
        self.manager.add_car('car2', 10)
        self.manager.add_car('car3', 20)

    def test_move_simple(self):
        self.manager.move_car('car2', 2, 3)
        pos = self.manager.get_car_position('car2')
        self.assertEqual(pos, (2, 3))
        self.assertEqual(self.manager.get_car_fuel('car2'), 5)

    def test_move_not_enough(self):
        self.manager.move_car('car1', 3, 5)
        pos = self.manager.get_car_position('car1')
        self.assertEqual(pos, (0, 0))
        self.assertEqual(self.manager.get_car_fuel('car1'), 2)

    def test_move_negative(self):
        self.manager.move_car('car3', -2, -3)
        pos = self.manager.get_car_position('car3')
        self.assertEqual(pos, (-2, -3))
        self.assertEqual(self.manager.get_car_fuel('car3'), 15)