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)