"""tests for day06."""
from day06.day6 import (
INPUT_SMALL,
Race,
calculate_constant_time,
calculate_race,
get_giga_race,
part1,
part2,
read_inputs,
)
[docs]
def test_get_giga_race() -> None:
"""Tests reading the input for the giga race."""
races: list[Race] = read_inputs(INPUT_SMALL)
race = get_giga_race(races)
assert race == Race(71530, 940200)
[docs]
def test_part1() -> None:
"""Tests part1."""
races: list[Race] = read_inputs(INPUT_SMALL)
assert part1(races) == 288
[docs]
def test_part2() -> None:
"""Tests part2."""
races: list[Race] = read_inputs(INPUT_SMALL)
race = get_giga_race(races)
assert part2(race) == 71503
[docs]
def test_calculate_race() -> None:
"""Tests calculating the race in both constant-time and brute-force."""
race = Race(7, 9)
assert calculate_race(race) == 4
assert calculate_constant_time(race) == 4
[docs]
def test_calculate_constant_time() -> None:
"""Test calculating constant time."""
assert calculate_constant_time(Race(7, 9)) == 4
assert calculate_constant_time(Race(71530, 940200)) == 71503