PPE2/tests/test_lap_detector.py

55 lines
1.4 KiB
Python

from lap_detection.api import Coordinate
from lap_detection.lap_detector import count_laps
def test_no_laps():
# arrange
start = Coordinate(lat=47.0, lon=8.0)
coords = [
Coordinate(lat=47.0001, lon=8.0001),
Coordinate(lat=47.0002, lon=8.0002),
Coordinate(lat=47.0003, lon=8.0003),
]
# act
result = count_laps(coords, start, radius=20)
# assert
assert result == 0
def test_single_lap():
# arrange
start = Coordinate(lat=47.0, lon=8.0)
coords = [
Coordinate(lat=47.0030, lon=8.0000), # far from start
Coordinate(lat=47.0020, lon=8.0010),
Coordinate(lat=47.0010, lon=8.0020),
Coordinate(lat=47.0001, lon=8.0001), # back near start -> lap counted
Coordinate(lat=47.0030, lon=8.0000), # far again -> no second lap
]
# act
result = count_laps(coords, start, radius=20)
# assert
assert result == 1
def test_two_laps():
# arrange
start = Coordinate(lat=47.0, lon=8.0)
coords = [
Coordinate(lat=47.0030, lon=8.0000), # far from start
Coordinate(lat=47.0001, lon=8.0001), # back near start -> lap 1
Coordinate(lat=47.0002, lon=8.0002), # still near start -> don't count twice
Coordinate(lat=47.0030, lon=8.0000), # far again
Coordinate(lat=47.0001, lon=8.0001), # back near start -> lap 2
]
# act
result = count_laps(coords, start, radius=20)
# assert
assert result == 2