def test_validate_match_unknowable_entrants(): teams_a = [matches.UNKNOWABLE_TEAM] * 4 teams_b = [matches.UNKNOWABLE_TEAM] * 4 teams = set() knockout_match = { 'A': Match(teams_a), 'B': Match(teams_b) } errors = validate_match(knockout_match, teams) assert len(errors) == 0
def test_validate_match_empty_corners(): """ Empty corner zones are represented by 'None' """ teams_a = ['ABC', 'DEF', None, 'JKL'] teams_b = ['LMN', 'OPQ', None, None] teams = set(['ABC', 'DEF', 'JKL', 'LMN', 'OPQ']) knockout_match = { 'A': Match(teams_a), 'B': Match(teams_b) } errors = validate_match(knockout_match, teams) assert len(errors) == 0
def test_validate_match_all(): teams_a = ['ABC', 'DEF', 'GHI', 'JKL'] teams_b = ['LMN', 'OPQ', 'GHI', 'GHI'] bad_match = { 'A': Match(teams_a), 'B': Match(teams_b) } errors = validate_match(bad_match, teams_a) assert len(errors) == 2 error = '\n'.join(errors) assert 'more than once' in error assert 'not exist' in error
def test_validate_match_nonexistant_entrant(): teams_a = ['ABC', 'DEF', 'GHI', 'JKL'] teams_b = ['LMN', 'OPQ', 'RST', 'UVW'] bad_match = { 'A': Match(teams_a), 'B': Match(teams_b) } errors = validate_match(bad_match, teams_a) assert len(errors) == 1 error = '\n'.join(errors) assert 'not exist' in error for t in teams_b: assert t in error
def test_validate_match_duplicate_entrant(): teams_a = ['ABC', 'DEF', 'GHI', 'JKL'] teams_b = ['LMN', 'OPQ', 'GHI', 'JKL'] teams = set(teams_a + teams_b) bad_match = { 'A': Match(teams_a), 'B': Match(teams_b) } errors = validate_match(bad_match, teams) assert len(errors) == 1 error = '\n'.join(errors) assert 'more than once' in error assert 'GHI' in error assert 'JKL' in error