Exemplo n.º 1
0
def test_pilot_name_type():
    """
    Pilot name should be a string
    """

    with pytest.raises(TypeError):
        p.Pilot('011', 11)
Exemplo n.º 2
0
def test_add_wrong_lap_info():
    """
    Each pilot has infos about his/hers laps. It must be a Lap object, otherwise    it should raise a TypeError
    """

    with pytest.raises(TypeError):
        pilot = p.Pilot('011', 'G.MORAIS')
        pilot.add_lap_info(11092)
Exemplo n.º 3
0
def test_add_correct_lap_info():
    """
    If all lap infos are fine, our pilot's `lap` list should increase.
    """

    lap_1 = l.Lap(1, datetime.time(0, 1, 49, 209), 44.10)
    lap_2 = l.Lap(2, datetime.time(0, 2, 49, 209), 42.79)

    pilot = p.Pilot('011', 'G.MORAIS')
    pilot.add_lap_info(lap_1)

    assert len(pilot.lap) == 1

    pilot.add_lap_info(lap_2)

    assert len(pilot.lap) == 2
Exemplo n.º 4
0
def test_avg_speed():
    """
    Given n laps, the method should return the correct average speed.
    """

    lap_1 = l.Lap(1, datetime.time(0, 1, 49, 209), 44.10)
    lap_2 = l.Lap(2, datetime.time(0, 2, 26, 10), 42.79)
    lap_3 = l.Lap(3, datetime.time(0, 1, 20, 959), 47.12)
    lap_4 = l.Lap(4, datetime.time(0, 1, 34, 236), 46.99)

    pilot = p.Pilot('011', 'G.MORAIS')
    pilot.add_lap_info(lap_1)
    pilot.add_lap_info(lap_2)
    pilot.add_lap_info(lap_3)
    pilot.add_lap_info(lap_4)

    avg_speed = pilot.get_avg_speed()

    assert avg_speed == 45.25
Exemplo n.º 5
0
def test_pilots_best_lap():
    """
    Given n laps, pilot.get_best_lap() should return the one finished in less
    time
    """
    lap_1 = l.Lap(1, datetime.time(0, 1, 49, 209), 44.10)
    lap_2 = l.Lap(2, datetime.time(0, 2, 26, 10), 42.79)
    lap_3 = l.Lap(3, datetime.time(0, 1, 20, 959), 47.12)
    lap_4 = l.Lap(4, datetime.time(0, 1, 34, 236), 46.99)

    pilot = p.Pilot('011', 'G.MORAIS')
    pilot.add_lap_info(lap_1)
    pilot.add_lap_info(lap_2)
    pilot.add_lap_info(lap_3)
    pilot.add_lap_info(lap_4)

    best_lap_idx, best_lap_time = pilot.get_best_lap()

    assert best_lap_time == lap_3.time
Exemplo n.º 6
0
    def init_race(self):
        pilots = {}

        for lap_info in self.data:
            pilot_id, pilot_name = lap_info[1], lap_info[2]
            lap_hour, lap_number, lap_time, lap_speed = lap_info[0], lap_info[
                3], lap_info[4], lap_info[5]

            lap = l.Lap(lap_number, lap_time, lap_speed)

            if pilot_id in pilots:
                pilots[pilot_id].add_lap_info(lap)
            else:
                pilot = p.Pilot(pilot_id, pilot_name)
                pilot.add_lap_info(lap)

                pilots[pilot_id] = pilot

        self.update_podium(pilots)
        self.print_stats(pilots)

        return self.podium
Exemplo n.º 7
0
def test_pilot_creation():
    """
    If all parameters are ok, no error should be raised.
    """
    #lap_info = l.Lap(1, datetime.time(0, 1, 49, 12)
    p.Pilot('011', 'F.MASSA')