solo-auswertung/src/solo_turnier/tests/test_competition_class.py

52 lines
1.4 KiB
Python

import solo_turnier.competition_class
import pytest
@pytest.fixture(params=range(9))
def fix_pureClass(request):
cases = (
('Newc', 'Newc.'),
('Newc.', 'Newc.'),
('Newcomer', 'Newc.'),
('Beg', 'Beg.'),
('Beg.', 'Beg.'),
('Beginner', 'Beg.'),
('Adv', 'Adv.'),
('Adv.', 'Adv.'),
('Advanced', 'Adv.'),
)
return cases[request.param]
def test_pureClassParsing(fix_pureClass):
className = fix_pureClass[0]
expected = fix_pureClass[1]
parser = solo_turnier.competition_class.CompetitionClassParser()
ret = parser.parseClass(className)
assert isinstance(ret, solo_turnier.competition_class.CompetitionClass)
assert str(ret) == expected
assert parser.isPureClass(className)
@pytest.fixture(params=range(4))
def fix_combinedClass(request):
cases = (
('Newc/Beg', 'Newc./Beg.'),
('Newc./Beg', 'Newc./Beg.'),
('Beginner/Adv', 'Beg./Adv.'),
('Beg/Adv', 'Beg./Adv.'),
)
return cases[request.param]
def test_combinedClassParsing(fix_combinedClass):
className = fix_combinedClass[0]
expected = fix_combinedClass[1]
parser = solo_turnier.competition_class.CompetitionClassParser()
ret = parser.parseClass(className)
assert isinstance(ret, solo_turnier.competition_class.CombinedCompetitionClass)
assert str(ret) == expected
assert not parser.isPureClass(className)