88 lines
3.6 KiB
Python
88 lines
3.6 KiB
Python
import pytest
|
|
|
|
from main import check_valid_id, check_extended_id, part1, part2
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
('1', True),
|
|
('11', False),
|
|
('12', True),
|
|
('22', False),
|
|
('1010', False),
|
|
('1012', True),
|
|
('1188511885', False),
|
|
('222222', False),
|
|
('446446', False),
|
|
('565656', True),
|
|
('446447', True),
|
|
('38593859', False),
|
|
('385385385', True)
|
|
])
|
|
def test_check_valid_id(given, expected):
|
|
assert check_valid_id(given) == expected
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
('1', True),
|
|
('12', True),
|
|
('1012', True),
|
|
('446447', True),
|
|
('11', False),
|
|
('22', False),
|
|
('99', False),
|
|
('111', False),
|
|
('999', False),
|
|
('1010', False),
|
|
('1188511885', False),
|
|
('222222', False),
|
|
('446446', False),
|
|
('565656', False),
|
|
('38593859', False),
|
|
('385385385', False),
|
|
('824824824', False),
|
|
('2121212121', False)
|
|
])
|
|
def test_extended_valid_id(given, expected):
|
|
assert check_extended_id(given) == expected
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
(
|
|
[
|
|
('11', '22'),
|
|
('95', '115'),
|
|
('998', '1012'),
|
|
('1188511880', '1188511890'),
|
|
('222220', '222224'),
|
|
('1698522', '1698528'),
|
|
('446443', '446449'),
|
|
('38593856', '38593862')
|
|
],
|
|
1227775554
|
|
)
|
|
])
|
|
def test_part1_examples(given, expected):
|
|
assert part1(given) == expected
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
(
|
|
[
|
|
('11', '22'),
|
|
('95', '115'),
|
|
('998', '1012'),
|
|
('1188511880', '1188511890'),
|
|
('222220', '222224'),
|
|
('1698522', '1698528'),
|
|
('446443', '446449'),
|
|
('38593856', '38593862'),
|
|
('565653', '565659'),
|
|
('824824821', '824824827'),
|
|
('2121212118', '2121212124')
|
|
],
|
|
4174379265
|
|
)
|
|
])
|
|
def test_part2_examples(given, expected):
|
|
assert part2(given) == expected
|