Skip to content

Commit cdb06dc

Browse files
Merge pull request #59 from marcelblijleven/ci/fix-pipelines
Ci/fix pipelines
2 parents db0b4b8 + c4139c3 commit cdb06dc

File tree

5 files changed

+62
-45
lines changed

5 files changed

+62
-45
lines changed

.github/workflows/update_readme.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ jobs:
2727
run: |
2828
git config --global user.name 'Marcel Blijleven'
2929
git config --global user.email '[email protected]'
30-
[[ -n $(git status -s) ]] && git commit -am "docs: update README"
30+
[[ -n $(git status -s) ]] && git add -A && git commit -m "docs: update README"
3131
git push

src/adventofcode/year_2023/day_01_2023.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from adventofcode.util.exceptions import SolutionNotFoundError
21
from adventofcode.registry.decorators import register_solution
2+
from adventofcode.util.exceptions import SolutionNotFoundError
33
from adventofcode.util.input_helpers import get_input_for_day
44

55
DIGITS = {
@@ -87,7 +87,7 @@ def part_two(input_data: list[str]):
8787
return answer
8888

8989

90-
if __name__ == '__main__':
90+
if __name__ == "__main__":
9191
data = get_input_for_day(2023, 1)
9292
part_one(data)
9393
part_two(data)

src/adventofcode/year_2023/day_02_2023.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
1-
import functools
21
import math
3-
import operator
42
import re
53

6-
from adventofcode.util.exceptions import SolutionNotFoundError
74
from adventofcode.registry.decorators import register_solution
5+
from adventofcode.util.exceptions import SolutionNotFoundError
86
from adventofcode.util.input_helpers import get_input_for_day
97

10-
game_pattern = re.compile("(?:(?P<amount>\d+)\s|(?P<color>red|blue|green))")
8+
game_pattern = re.compile(r"(?:(?P<amount>\d+)\s|(?P<color>red|blue|green))")
119

1210

1311
def parse_game(line) -> list[dict[str, int]]:
1412
prefix, game = line.split(": ")
1513
game_values = []
1614
rounds = game.split("; ")
1715

18-
for round in rounds:
19-
pairs = round.split(", ")
16+
for _round in rounds:
17+
pairs = _round.split(", ")
2018

2119
round_values = {}
2220
for pair in pairs:
@@ -70,7 +68,7 @@ def find_possibilities(lines: list[str]) -> int:
7068

7169
def find_minimum_possible(lines: list[str]) -> int:
7270
total: int = 0
73-
for game_number, line in enumerate(lines, start=1):
71+
for line in lines:
7472
game_values = parse_game(line)
7573

7674
total += check_minimum(game_values)
@@ -98,7 +96,7 @@ def part_two(input_data: list[str]):
9896
return answer
9997

10098

101-
if __name__ == '__main__':
99+
if __name__ == "__main__":
102100
data = get_input_for_day(2023, 2)
103101
part_one(data)
104102
part_two(data)

tests/adventofcode/year_2023/test_day_01_2023.py

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import pytest
22

3-
from adventofcode.year_2023.day_01_2023 import (part_two, part_one, get_calibration_value,
4-
get_calibration_value_with_words,
5-
)
3+
from adventofcode.year_2023.day_01_2023 import (
4+
get_calibration_value,
5+
get_calibration_value_with_words,
6+
part_one,
7+
part_two,
8+
)
69

710
test_input = [
811
"1abc2",
@@ -22,25 +25,31 @@
2225
]
2326

2427

25-
@pytest.mark.parametrize(["line", "expected"], [
26-
("1abc2", 12),
27-
("pqr3stu8vwx", 38),
28-
("a1b2c3d4e5f", 15),
29-
("treb7uchet", 77),
30-
])
28+
@pytest.mark.parametrize(
29+
["line", "expected"],
30+
[
31+
("1abc2", 12),
32+
("pqr3stu8vwx", 38),
33+
("a1b2c3d4e5f", 15),
34+
("treb7uchet", 77),
35+
],
36+
)
3137
def test_get_calibration_value(line, expected):
3238
assert get_calibration_value(line) == expected
3339

3440

35-
@pytest.mark.parametrize(["line", "expected"], [
36-
("two1nine", 29),
37-
("eightwothree", 83),
38-
("abcone2threexyz", 13),
39-
("xtwone3four", 24),
40-
("4nineeightseven2", 42),
41-
("zoneight234", 14),
42-
("7pqrstsixteen", 76),
43-
])
41+
@pytest.mark.parametrize(
42+
["line", "expected"],
43+
[
44+
("two1nine", 29),
45+
("eightwothree", 83),
46+
("abcone2threexyz", 13),
47+
("xtwone3four", 24),
48+
("4nineeightseven2", 42),
49+
("zoneight234", 14),
50+
("7pqrstsixteen", 76),
51+
],
52+
)
4453
def test_get_calibration_value_with_words(line, expected):
4554
assert get_calibration_value_with_words(line) == expected
4655

tests/adventofcode/year_2023/test_day_02_2023.py

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import pytest
22

3-
from adventofcode.year_2023.day_02_2023 import part_two, part_one, parse_game
3+
from adventofcode.year_2023.day_02_2023 import parse_game, part_one, part_two
44

55
test_input = [
66
"Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green",
@@ -11,21 +11,31 @@
1111
]
1212

1313

14-
@pytest.mark.parametrize(["game", "expected"], [
15-
("Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green",
16-
[{'blue': 3, 'red': 4}, {'blue': 6, 'green': 2, 'red': 1}, {'green': 2}]),
17-
("Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue", [{'blue': 1, 'green': 2},
18-
{'blue': 4, 'green': 3, 'red': 1},
19-
{'blue': 1, 'green': 1}]),
20-
("Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red", [{'blue': 6, 'green': 8, 'red': 20},
21-
{'blue': 5, 'green': 13, 'red': 4},
22-
{'green': 5, 'red': 1}]),
23-
("Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red", [{'blue': 6, 'green': 1, 'red': 3},
24-
{'green': 3, 'red': 6},
25-
{'blue': 15, 'green': 3, 'red': 14}]),
26-
("Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green",
27-
[{'blue': 1, 'green': 3, 'red': 6}, {'blue': 2, 'green': 2, 'red': 1}]),
28-
])
14+
@pytest.mark.parametrize(
15+
["game", "expected"],
16+
[
17+
(
18+
"Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green",
19+
[{"blue": 3, "red": 4}, {"blue": 6, "green": 2, "red": 1}, {"green": 2}],
20+
),
21+
(
22+
"Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue",
23+
[{"blue": 1, "green": 2}, {"blue": 4, "green": 3, "red": 1}, {"blue": 1, "green": 1}],
24+
),
25+
(
26+
"Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red",
27+
[{"blue": 6, "green": 8, "red": 20}, {"blue": 5, "green": 13, "red": 4}, {"green": 5, "red": 1}],
28+
),
29+
(
30+
"Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red",
31+
[{"blue": 6, "green": 1, "red": 3}, {"green": 3, "red": 6}, {"blue": 15, "green": 3, "red": 14}],
32+
),
33+
(
34+
"Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green",
35+
[{"blue": 1, "green": 3, "red": 6}, {"blue": 2, "green": 2, "red": 1}],
36+
),
37+
],
38+
)
2939
def test_parse_game(game, expected):
3040
assert parse_game(game) == expected
3141

0 commit comments

Comments
 (0)