diff --git a/2024/src/aoc/__main__.py b/2024/src/aoc/__main__.py index 9534731..ce5d38a 100644 --- a/2024/src/aoc/__main__.py +++ b/2024/src/aoc/__main__.py @@ -22,11 +22,11 @@ from aoc import days @click.argument("day", required=True) def main(day: int, timing: bool, data: IO[str]) -> None: runner_class = days.get_runner(day) - data = data.read() + contents = data.read() start = time.perf_counter_ns() - part1, part2 = runner_class.run_both(data) + part1, part2 = runner_class.run_both(contents) if timing: elapsed = time.perf_counter_ns() - start diff --git a/2024/src/aoc/days/day1.py b/2024/src/aoc/days/day1.py index 5fcb923..3fe7f98 100644 --- a/2024/src/aoc/days/day1.py +++ b/2024/src/aoc/days/day1.py @@ -10,8 +10,7 @@ from . import CombinedRunner class DayRunner(CombinedRunner): @classmethod def run_both(cls, data: str) -> tuple[Any, Any]: - data = StringIO(data) - nums = numpy.loadtxt(data, dtype=numpy.int32) + nums = numpy.loadtxt(StringIO(data), dtype=numpy.int32) left = nums[..., 0] right = nums[..., 1] @@ -21,7 +20,7 @@ class DayRunner(CombinedRunner): diff = numpy.abs(left - right).sum() - counts = defaultdict(int) + counts: defaultdict[int, int] = defaultdict(int) for val in right: counts[val] += 1 diff --git a/2024/tests/test_day1.py b/2024/tests/test_day1.py index b6650bb..6ef1fde 100644 --- a/2024/tests/test_day1.py +++ b/2024/tests/test_day1.py @@ -2,13 +2,16 @@ import os from aoc.days.day1 import DayRunner + def get_data() -> str: sample = os.path.dirname(__file__) + "/samples/01.txt" with open(sample, mode="rt", encoding="utf-8") as f: return f.read() -def test_sample_part1(): + +def test_sample_part1() -> None: assert DayRunner.part1(get_data()) == 11 -def test_sample_part2(): + +def test_sample_part2() -> None: assert DayRunner.part2(get_data()) == 31