Example #1
0
def test_apply_break_when_current_speed_is_less_than_tyre_friction():
    # Arrange
    truck = Truck(color="Red", max_speed=50, acceleration=10,
                  tyre_friction=30, max_cargo_weight=100)
    current_speed = 0
    truck.start_engine()
    truck.accelerate()

    # Act
    truck.apply_brakes()

    # Assert
    assert truck.current_speed == current_speed
def test_accelerate_truck_when_engine_started_and_update_current_speed():
    # Arrange
    truck = Truck(color='Blue',
                  max_speed=1,
                  acceleration=1,
                  tyre_friction=1,
                  max_cargo_weight=1)
    truck.start_engine()
    current_speed_value = 1

    # Act
    truck.accelerate()

    # Assert
    assert truck.current_speed == current_speed_value
Example #3
0
def test_accelerate_truck_returns_current_speed(max_speed, acceleration,
                                                tyre_friction, current_speed):
    # Arrange
    truck = Truck(color="Red",
                  max_speed=max_speed,
                  acceleration=acceleration,
                  tyre_friction=tyre_friction,
                  max_cargo_weight=100)
    truck.start_engine()

    # Act
    truck.accelerate()

    # Assert
    assert truck.current_speed == current_speed
Example #4
0
def test_apply_break_when_current_speed_with_different_acceleration_more_than_tyre_friction_returns_current_speed():
    # Arrange
    truck = Truck(color="Red", max_speed=50, acceleration=10,
                  tyre_friction=3, max_cargo_weight=100)
    current_speed = 27
    truck.start_engine()
    truck.accelerate()
    truck.accelerate()
    truck.accelerate()

    # Act
    truck.apply_brakes()

    # Assert
    assert truck.current_speed == current_speed
def test_accelerate_truck_when_engine_stoped_and_return_start_engine_to_accelerate(
        capfd):
    # Arrange
    truck = Truck(color='Blue',
                  max_speed=1,
                  acceleration=1,
                  tyre_friction=1,
                  max_cargo_weight=1)
    start_engine_to_accelerate = "Start the engine to accelerate\n"

    # Act
    truck.accelerate()
    output = capfd.readouterr()

    # Assert
    assert output.out == start_engine_to_accelerate
def test_load_when_truck_in_motion_and_print_string(capfd):
    # Arrange
    truck = Truck(color='Blue',
                  max_speed=5,
                  acceleration=4,
                  tyre_friction=3,
                  max_cargo_weight=100)
    truck.start_engine()
    truck.accelerate()
    cannot_load = "Cannot load cargo during motion\n"

    # Act
    truck.load(1)
    output = capfd.readouterr()

    # Assert
    assert output.out == cannot_load
def test_apply_brakes_when_truck_current_speed_is_more_than_tyre_friction_and_update_current_speed(
):
    # Arrange
    truck = Truck(color='Blue',
                  max_speed=5,
                  acceleration=4,
                  tyre_friction=3,
                  max_cargo_weight=1)
    truck.start_engine()
    truck.accelerate()

    # Act
    truck.apply_brakes()
    current_speed_value = 1

    # Assert
    assert truck.current_speed == current_speed_value
Example #8
0
def test_accelerate_truck_with_different_acceleration():
    # Arrange
    truck = Truck(color="Red",
                  max_speed=50,
                  acceleration=10,
                  tyre_friction=3,
                  max_cargo_weight=100)
    current_speed = 30
    truck.start_engine()

    # Act
    truck.accelerate()
    truck.accelerate()
    truck.accelerate()

    # Assert
    assert truck.current_speed == current_speed
Example #9
0
def test_load_cargo_when_truck_is_stopped_and_current_speed_is_not_zero_returns_statement(
        capsys):
    # Arrange
    truck = Truck(color="Red",
                  max_speed=50,
                  acceleration=10,
                  tyre_friction=30,
                  max_cargo_weight=100)
    truck.start_engine()
    truck.accelerate()
    statement = "Cannot load cargo during motion\n"

    # Act
    truck.stop_engine()
    truck.load(50)
    captured = capsys.readouterr()

    # Assert
    assert captured.out == statement
Example #10
0
def test_accelerate_truck_more_than_max_speed_returns_current_speed_equal_to_max_speed(
):
    # Arrange
    truck = Truck(color="Red",
                  max_speed=50,
                  acceleration=10,
                  tyre_friction=3,
                  max_cargo_weight=100)
    current_speed = 50
    truck.start_engine()

    # Act
    truck.accelerate()
    truck.accelerate()
    truck.accelerate()
    truck.accelerate()
    truck.accelerate()
    truck.accelerate()
    truck.accelerate()

    # Assert
    assert truck.current_speed == current_speed