78 lines
2.8 KiB
Python
78 lines
2.8 KiB
Python
import pytest
|
|
|
|
from main import check_contains_no_bad_chars, check_doubled_char, check_vowel_count, check_if_nice, check_nonoverlapping_repeats, check_repeat_everyother, check_if_nice_part2
|
|
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
('aei', True),
|
|
('xazegov', True),
|
|
('aeiouaeiouaeiou', True),
|
|
('mnqpcbt', False)
|
|
])
|
|
def test_vowel_counting(given, expected):
|
|
assert check_vowel_count(given) == expected
|
|
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
('aabbccdd', True),
|
|
('whythisword', False),
|
|
('hegwjzuvuyypxyu', True)
|
|
])
|
|
def test_double_counting(given, expected):
|
|
assert check_doubled_char(given) == expected
|
|
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
('aabbccdd', False),
|
|
('whythisword', True)
|
|
])
|
|
def test_bad_chars(given, expected):
|
|
assert check_contains_no_bad_chars(given) == expected
|
|
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
('ugknbfddgicrmopn', True),
|
|
('aaa', True),
|
|
('jchzalrnumimnmhp', False),
|
|
('haegwjzuvuyypxyu', False),
|
|
('dvszwmarrgswjxmb', False)
|
|
])
|
|
def test_examples(given, expected):
|
|
assert check_if_nice(given) == expected
|
|
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
('xyxy', True),
|
|
('xxyxx', True),
|
|
('aaa', False)
|
|
])
|
|
def test_nonopverlapping(given, expected):
|
|
assert check_nonoverlapping_repeats(given) == expected
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
('xyx', True),
|
|
('xxyxx', True),
|
|
('abcdefeghi', True),
|
|
('aaa', True),
|
|
('blargh', False)
|
|
])
|
|
def test_repeat_everyother(given, expected):
|
|
assert check_repeat_everyother(given) == expected
|
|
|
|
|
|
@pytest.mark.parametrize('given, expected',
|
|
[
|
|
('qjhvhtzxzqqjkmpb', True),
|
|
('xxyxx', True),
|
|
('uurcxstgmygtbstg', False),
|
|
('ieodomkazucvgmuy', False)
|
|
])
|
|
def test_part2_examples(given, expected):
|
|
assert check_if_nice_part2(given) == expected
|