FA-85251 / Fantasy sports scoring / Open access
Bench priority ignored in favor of most minutes · case 01
The manager's first bench choice is skipped for a player with more minutes.
ROOT CAUSE
Outfield candidates are ordered by minutes played rather than bench order.
VERIFIED REPAIR
Walk outfield bench players in their listed order.
Unsuccessful approach: Walking the bench in reverse still ignores the manager's priority.
Case contract
Starters who played 0 minutes are replaced in starter order. A goalkeeper can only be replaced by the bench goalkeeper (bench[0]) and only if he played. An outfield starter is replaced by the first outfield bench player in bench order who played and is not already used, provided the XI with the candidate in place keeps at least 3 DEF, 2 MID and 1 FWD. Return the final XI in starter-slot order.
Why this case matters
Automatic substitutions decide which bench points count; order, goalkeeper and formation rules are frequently misapplied.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(starters, bench, minutes, pos):
xi = list(starters)
used = set()
def valid(team):
c = {'DEF': 0, 'MID': 0, 'FWD': 0}
for n in team:
if pos[n] in c:
c[pos[n]] += 1
return c['DEF'] >= 3 and c['MID'] >= 2 and c['FWD'] >= 1
for i, s in enumerate(starters):
if minutes[s] > 0:
continue
if pos[s] == 'GK':
g = bench[0]
if minutes[g] > 0:
xi[i] = g
used.add(g)
continue
for b in sorted(bench[1:], key=lambda b: -minutes[b]):
if b in used or minutes[b] == 0:
continue
trial = xi[:i] + [b] + xi[i + 1:]
if valid(trial):
xi[i] = b
used.add(b)
break
return xi
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 30,
'b2': 90,
'def0': 1,
'def1': 0,
'def2': 0,
'fwd0': 30,
'fwd1': 90,
'fwd2': 90,
'gk1': 90,
'gk2': 90,
'mid0': 90,
'mid1': 90,
'mid2': 30,
'mid3': 0},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 90,
'b2': 0,
'def0': 30,
'def1': 1,
'def2': 0,
'def3': 30,
'def4': 0,
'fwd0': 30,
'fwd1': 0,
'gk1': 30,
'gk2': 0,
'mid0': 30,
'mid1': 30,
'mid2': 30},
{'b0': 'FWD',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 1,
'def0': 0,
'def1': 90,
'def2': 0,
'def3': 30,
'def4': 90,
'fwd0': 0,
'fwd1': 1,
'gk1': 30,
'gk2': 30,
'mid0': 90,
'mid1': 30,
'mid2': 1},
{'b0': 'DEF',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 30,
'def0': 30,
'def1': 90,
'def2': 30,
'def3': 30,
'fwd0': 1,
'gk1': 1,
'gk2': 0,
'mid0': 0,
'mid1': 30,
'mid2': 0,
'mid3': 30,
'mid4': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 90,
'def0': 0,
'def1': 1,
'def2': 90,
'fwd0': 30,
'fwd1': 90,
'gk1': 1,
'gk2': 1,
'mid0': 30,
'mid1': 90,
'mid2': 0,
'mid3': 90,
'mid4': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 90,
'def0': 1,
'def1': 0,
'def2': 0,
'fwd0': 30,
'fwd1': 30,
'fwd2': 1,
'gk1': 0,
'gk2': 0,
'mid0': 1,
'mid1': 90,
'mid2': 30,
'mid3': 90},
{'b0': 'MID',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 30,
'def0': 90,
'def1': 90,
'def2': 90,
'def3': 30,
'def4': 1,
'fwd0': 1,
'fwd1': 90,
'gk1': 0,
'gk2': 0,
'mid0': 1,
'mid1': 30,
'mid2': 1},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 90,
'b2': 1,
'def0': 90,
'def1': 0,
'def2': 90,
'def3': 1,
'fwd0': 30,
'gk1': 1,
'gk2': 30,
'mid0': 30,
'mid1': 1,
'mid2': 1,
'mid3': 90,
'mid4': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b0', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'b1', 'fwd0']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 90,
'b2': 1,
'def0': 30,
'def1': 1,
'def2': 0,
'fwd0': 1,
'fwd1': 90,
'fwd2': 1,
'gk1': 1,
'gk2': 1,
'mid0': 0,
'mid1': 30,
'mid2': 30,
'mid3': 90},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'b2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 1,
'b2': 30,
'def0': 30,
'def1': 90,
'def2': 30,
'def3': 90,
'def4': 90,
'fwd0': 0,
'fwd1': 90,
'gk1': 30,
'gk2': 1,
'mid0': 0,
'mid1': 0,
'mid2': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'b0', 'b2', 'mid2', 'b1', 'fwd1']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 0,
'def0': 30,
'def1': 1,
'def2': 1,
'fwd0': 30,
'fwd1': 1,
'fwd2': 0,
'gk1': 0,
'gk2': 1,
'mid0': 0,
'mid1': 30,
'mid2': 90,
'mid3': 1},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 0,
'def0': 90,
'def1': 90,
'def2': 0,
'def3': 1,
'def4': 90,
'fwd0': 1,
'fwd1': 0,
'gk1': 0,
'gk2': 90,
'mid0': 30,
'mid1': 30,
'mid2': 0},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk2', 'def0', 'def1', 'b0', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 30,
'b2': 0,
'def0': 0,
'def1': 0,
'def2': 30,
'def3': 0,
'fwd0': 0,
'fwd1': 1,
'gk1': 90,
'gk2': 30,
'mid0': 90,
'mid1': 1,
'mid2': 1,
'mid3': 1},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'b1', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 0,
'b2': 0,
'def0': 0,
'def1': 90,
'def2': 90,
'fwd0': 1,
'fwd1': 0,
'gk1': 90,
'gk2': 0,
'mid0': 90,
'mid1': 0,
'mid2': 30,
'mid3': 1,
'mid4': 1},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'b0', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 90,
'def0': 30,
'def1': 30,
'def2': 30,
'fwd0': 30,
'fwd1': 0,
'gk1': 30,
'gk2': 90,
'mid0': 1,
'mid1': 90,
'mid2': 0,
'mid3': 0,
'mid4': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'b2', 'mid4', 'fwd0', 'fwd1']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 1,
'b2': 0,
'def0': 30,
'def1': 90,
'def2': 90,
'def3': 0,
'fwd0': 90,
'gk1': 30,
'gk2': 30,
'mid0': 90,
'mid1': 90,
'mid2': 30,
'mid3': 0,
'mid4': 1},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'mid0', 'mid1', 'mid2', 'b1', 'mid4', 'fwd0']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 1,
'b2': 90,
'def0': 30,
'def1': 1,
'def2': 1,
'def3': 30,
'fwd0': 30,
'gk1': 1,
'gk2': 1,
'mid0': 90,
'mid1': 0,
'mid2': 0,
'mid3': 90,
'mid4': 90},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'b0', 'b1', 'mid3', 'mid4', 'fwd0']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 90,
'def0': 0,
'def1': 1,
'def2': 0,
'fwd0': 1,
'fwd1': 0,
'gk1': 30,
'gk2': 90,
'mid0': 90,
'mid1': 30,
'mid2': 1,
'mid3': 90,
'mid4': 1},
{'b0': 'DEF',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'b0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'b2']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 0,
'def0': 90,
'def1': 0,
'def2': 0,
'def3': 0,
'fwd0': 0,
'gk1': 90,
'gk2': 0,
'mid0': 0,
'mid1': 30,
'mid2': 1,
'mid3': 1,
'mid4': 1},
{'b0': 'MID',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 1,
'b2': 0,
'def0': 30,
'def1': 0,
'def2': 30,
'def3': 0,
'fwd0': 1,
'gk1': 1,
'gk2': 30,
'mid0': 0,
'mid1': 90,
'mid2': 1,
'mid3': 30,
'mid4': 30},
{'b0': 'MID',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 30,
'def0': 0,
'def1': 1,
'def2': 1,
'fwd0': 1,
'fwd1': 0,
'fwd2': 90,
'gk1': 1,
'gk2': 90,
'mid0': 30,
'mid1': 1,
'mid2': 0,
'mid3': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b2', 'mid3', 'fwd0', 'fwd1', 'fwd2'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 30,
'b2': 90,
'def0': 90,
'def1': 1,
'def2': 1,
'def3': 90,
'def4': 90,
'fwd0': 0,
'fwd1': 30,
'gk1': 1,
'gk2': 30,
'mid0': 90,
'mid1': 1,
'mid2': 90},
{'b0': 'FWD',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'b0', 'fwd1']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 1,
'def0': 30,
'def1': 30,
'def2': 30,
'fwd0': 30,
'fwd1': 90,
'fwd2': 90,
'gk1': 1,
'gk2': 1,
'mid0': 30,
'mid1': 30,
'mid2': 1,
'mid3': 0},
{'b0': 'FWD',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 30,
'def0': 90,
'def1': 90,
'def2': 90,
'fwd0': 0,
'fwd1': 0,
'fwd2': 30,
'gk1': 1,
'gk2': 90,
'mid0': 0,
'mid1': 1,
'mid2': 90,
'mid3': 30},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b1', 'mid1', 'mid2', 'mid3', 'b2', 'fwd1', 'fwd2']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 0,
'def0': 0,
'def1': 1,
'def2': 0,
'fwd0': 30,
'fwd1': 30,
'fwd2': 0,
'gk1': 1,
'gk2': 90,
'mid0': 0,
'mid1': 30,
'mid2': 30,
'mid3': 30},
{'b0': 'MID',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 1,
'b2': 30,
'def0': 90,
'def1': 0,
'def2': 1,
'fwd0': 30,
'fwd1': 0,
'gk1': 30,
'gk2': 90,
'mid0': 1,
'mid1': 0,
'mid2': 30,
'mid3': 30,
'mid4': 30},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'mid0', 'b2', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 0,
'def0': 30,
'def1': 30,
'def2': 0,
'fwd0': 30,
'fwd1': 0,
'gk1': 0,
'gk2': 30,
'mid0': 90,
'mid1': 30,
'mid2': 30,
'mid3': 90,
'mid4': 1},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 0,
'b2': 0,
'def0': 90,
'def1': 30,
'def2': 90,
'def3': 90,
'fwd0': 1,
'gk1': 90,
'gk2': 1,
'mid0': 30,
'mid1': 90,
'mid2': 1,
'mid3': 30,
'mid4': 90},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 30,
'b2': 30,
'def0': 90,
'def1': 30,
'def2': 1,
'def3': 1,
'fwd0': 1,
'fwd1': 1,
'gk1': 1,
'gk2': 0,
'mid0': 0,
'mid1': 1,
'mid2': 0,
'mid3': 30},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'b0', 'mid1', 'b1', 'mid3', 'fwd0', 'fwd1']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 1,
'b2': 1,
'def0': 30,
'def1': 30,
'def2': 90,
'fwd0': 30,
'fwd1': 90,
'fwd2': 0,
'gk1': 1,
'gk2': 30,
'mid0': 0,
'mid1': 0,
'mid2': 1,
'mid3': 0},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'b1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 1,
'b2': 30,
'def0': 90,
'def1': 90,
'def2': 0,
'def3': 90,
'def4': 0,
'fwd0': 0,
'fwd1': 1,
'gk1': 1,
'gk2': 30,
'mid0': 1,
'mid1': 30,
'mid2': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'b2', 'fwd0', 'fwd1']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 0,
'def0': 0,
'def1': 0,
'def2': 30,
'fwd0': 90,
'fwd1': 30,
'gk1': 90,
'gk2': 0,
'mid0': 0,
'mid1': 1,
'mid2': 90,
'mid3': 0,
'mid4': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 0,
'def0': 1,
'def1': 30,
'def2': 30,
'def3': 90,
'fwd0': 0,
'fwd1': 30,
'gk1': 0,
'gk2': 30,
'mid0': 1,
'mid1': 30,
'mid2': 30,
'mid3': 0},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 30,
'b2': 0,
'def0': 30,
'def1': 1,
'def2': 0,
'def3': 90,
'fwd0': 0,
'fwd1': 1,
'gk1': 0,
'gk2': 90,
'mid0': 30,
'mid1': 90,
'mid2': 1,
'mid3': 0},
{'b0': 'DEF',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk2', 'def0', 'def1', 'b1', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 30,
'def0': 0,
'def1': 1,
'def2': 1,
'fwd0': 30,
'fwd1': 30,
'gk1': 0,
'gk2': 30,
'mid0': 0,
'mid1': 30,
'mid2': 30,
'mid3': 0,
'mid4': 0},
{'b0': 'MID',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: bench priority order | ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2'] | ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2'] | Failed |
| partial repair probe: bench priority order | ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | Passed |
| second regression | ['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | ['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | Passed |
| normal control 1 | ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'] | ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'] | Passed |
| normal control 2 | ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1'] | ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1'] | Passed |
| normal control 3 | ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'] | ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'] | Passed |
| normal control 4 | ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | Passed |
SHA-256 / 602754f040ec4721e54b7d02fa1250c1acb208df899db7175fa8d0c4244e0b15
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(starters, bench, minutes, pos):
xi = list(starters)
used = set()
def valid(team):
c = {'DEF': 0, 'MID': 0, 'FWD': 0}
for n in team:
if pos[n] in c:
c[pos[n]] += 1
return c['DEF'] >= 3 and c['MID'] >= 2 and c['FWD'] >= 1
for i, s in enumerate(starters):
if minutes[s] > 0:
continue
if pos[s] == 'GK':
g = bench[0]
if minutes[g] > 0:
xi[i] = g
used.add(g)
continue
for b in bench[:0:-1]:
if b in used or minutes[b] == 0:
continue
trial = xi[:i] + [b] + xi[i + 1:]
if valid(trial):
xi[i] = b
used.add(b)
break
return xi
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 30,
'b2': 90,
'def0': 1,
'def1': 0,
'def2': 0,
'fwd0': 30,
'fwd1': 90,
'fwd2': 90,
'gk1': 90,
'gk2': 90,
'mid0': 90,
'mid1': 90,
'mid2': 30,
'mid3': 0},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 90,
'b2': 0,
'def0': 30,
'def1': 1,
'def2': 0,
'def3': 30,
'def4': 0,
'fwd0': 30,
'fwd1': 0,
'gk1': 30,
'gk2': 0,
'mid0': 30,
'mid1': 30,
'mid2': 30},
{'b0': 'FWD',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 1,
'def0': 0,
'def1': 90,
'def2': 0,
'def3': 30,
'def4': 90,
'fwd0': 0,
'fwd1': 1,
'gk1': 30,
'gk2': 30,
'mid0': 90,
'mid1': 30,
'mid2': 1},
{'b0': 'DEF',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 30,
'def0': 30,
'def1': 90,
'def2': 30,
'def3': 30,
'fwd0': 1,
'gk1': 1,
'gk2': 0,
'mid0': 0,
'mid1': 30,
'mid2': 0,
'mid3': 30,
'mid4': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 90,
'def0': 0,
'def1': 1,
'def2': 90,
'fwd0': 30,
'fwd1': 90,
'gk1': 1,
'gk2': 1,
'mid0': 30,
'mid1': 90,
'mid2': 0,
'mid3': 90,
'mid4': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 90,
'def0': 1,
'def1': 0,
'def2': 0,
'fwd0': 30,
'fwd1': 30,
'fwd2': 1,
'gk1': 0,
'gk2': 0,
'mid0': 1,
'mid1': 90,
'mid2': 30,
'mid3': 90},
{'b0': 'MID',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 30,
'def0': 90,
'def1': 90,
'def2': 90,
'def3': 30,
'def4': 1,
'fwd0': 1,
'fwd1': 90,
'gk1': 0,
'gk2': 0,
'mid0': 1,
'mid1': 30,
'mid2': 1},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 90,
'b2': 1,
'def0': 90,
'def1': 0,
'def2': 90,
'def3': 1,
'fwd0': 30,
'gk1': 1,
'gk2': 30,
'mid0': 30,
'mid1': 1,
'mid2': 1,
'mid3': 90,
'mid4': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b0', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'b1', 'fwd0']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 90,
'b2': 1,
'def0': 30,
'def1': 1,
'def2': 0,
'fwd0': 1,
'fwd1': 90,
'fwd2': 1,
'gk1': 1,
'gk2': 1,
'mid0': 0,
'mid1': 30,
'mid2': 30,
'mid3': 90},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'b2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 1,
'b2': 30,
'def0': 30,
'def1': 90,
'def2': 30,
'def3': 90,
'def4': 90,
'fwd0': 0,
'fwd1': 90,
'gk1': 30,
'gk2': 1,
'mid0': 0,
'mid1': 0,
'mid2': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'b0', 'b2', 'mid2', 'b1', 'fwd1']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 0,
'def0': 30,
'def1': 1,
'def2': 1,
'fwd0': 30,
'fwd1': 1,
'fwd2': 0,
'gk1': 0,
'gk2': 1,
'mid0': 0,
'mid1': 30,
'mid2': 90,
'mid3': 1},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 0,
'def0': 90,
'def1': 90,
'def2': 0,
'def3': 1,
'def4': 90,
'fwd0': 1,
'fwd1': 0,
'gk1': 0,
'gk2': 90,
'mid0': 30,
'mid1': 30,
'mid2': 0},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk2', 'def0', 'def1', 'b0', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 30,
'b2': 0,
'def0': 0,
'def1': 0,
'def2': 30,
'def3': 0,
'fwd0': 0,
'fwd1': 1,
'gk1': 90,
'gk2': 30,
'mid0': 90,
'mid1': 1,
'mid2': 1,
'mid3': 1},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'b1', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 0,
'b2': 0,
'def0': 0,
'def1': 90,
'def2': 90,
'fwd0': 1,
'fwd1': 0,
'gk1': 90,
'gk2': 0,
'mid0': 90,
'mid1': 0,
'mid2': 30,
'mid3': 1,
'mid4': 1},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'b0', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 90,
'def0': 30,
'def1': 30,
'def2': 30,
'fwd0': 30,
'fwd1': 0,
'gk1': 30,
'gk2': 90,
'mid0': 1,
'mid1': 90,
'mid2': 0,
'mid3': 0,
'mid4': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'b2', 'mid4', 'fwd0', 'fwd1']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 1,
'b2': 0,
'def0': 30,
'def1': 90,
'def2': 90,
'def3': 0,
'fwd0': 90,
'gk1': 30,
'gk2': 30,
'mid0': 90,
'mid1': 90,
'mid2': 30,
'mid3': 0,
'mid4': 1},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'mid0', 'mid1', 'mid2', 'b1', 'mid4', 'fwd0']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 1,
'b2': 90,
'def0': 30,
'def1': 1,
'def2': 1,
'def3': 30,
'fwd0': 30,
'gk1': 1,
'gk2': 1,
'mid0': 90,
'mid1': 0,
'mid2': 0,
'mid3': 90,
'mid4': 90},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'b0', 'b1', 'mid3', 'mid4', 'fwd0']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 90,
'def0': 0,
'def1': 1,
'def2': 0,
'fwd0': 1,
'fwd1': 0,
'gk1': 30,
'gk2': 90,
'mid0': 90,
'mid1': 30,
'mid2': 1,
'mid3': 90,
'mid4': 1},
{'b0': 'DEF',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'b0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'b2']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 0,
'def0': 90,
'def1': 0,
'def2': 0,
'def3': 0,
'fwd0': 0,
'gk1': 90,
'gk2': 0,
'mid0': 0,
'mid1': 30,
'mid2': 1,
'mid3': 1,
'mid4': 1},
{'b0': 'MID',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 1,
'b2': 0,
'def0': 30,
'def1': 0,
'def2': 30,
'def3': 0,
'fwd0': 1,
'gk1': 1,
'gk2': 30,
'mid0': 0,
'mid1': 90,
'mid2': 1,
'mid3': 30,
'mid4': 30},
{'b0': 'MID',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 30,
'def0': 0,
'def1': 1,
'def2': 1,
'fwd0': 1,
'fwd1': 0,
'fwd2': 90,
'gk1': 1,
'gk2': 90,
'mid0': 30,
'mid1': 1,
'mid2': 0,
'mid3': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b2', 'mid3', 'fwd0', 'fwd1', 'fwd2'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 30,
'b2': 90,
'def0': 90,
'def1': 1,
'def2': 1,
'def3': 90,
'def4': 90,
'fwd0': 0,
'fwd1': 30,
'gk1': 1,
'gk2': 30,
'mid0': 90,
'mid1': 1,
'mid2': 90},
{'b0': 'FWD',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'b0', 'fwd1']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 1,
'def0': 30,
'def1': 30,
'def2': 30,
'fwd0': 30,
'fwd1': 90,
'fwd2': 90,
'gk1': 1,
'gk2': 1,
'mid0': 30,
'mid1': 30,
'mid2': 1,
'mid3': 0},
{'b0': 'FWD',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 30,
'def0': 90,
'def1': 90,
'def2': 90,
'fwd0': 0,
'fwd1': 0,
'fwd2': 30,
'gk1': 1,
'gk2': 90,
'mid0': 0,
'mid1': 1,
'mid2': 90,
'mid3': 30},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b1', 'mid1', 'mid2', 'mid3', 'b2', 'fwd1', 'fwd2']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 0,
'def0': 0,
'def1': 1,
'def2': 0,
'fwd0': 30,
'fwd1': 30,
'fwd2': 0,
'gk1': 1,
'gk2': 90,
'mid0': 0,
'mid1': 30,
'mid2': 30,
'mid3': 30},
{'b0': 'MID',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 1,
'b2': 30,
'def0': 90,
'def1': 0,
'def2': 1,
'fwd0': 30,
'fwd1': 0,
'gk1': 30,
'gk2': 90,
'mid0': 1,
'mid1': 0,
'mid2': 30,
'mid3': 30,
'mid4': 30},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'mid0', 'b2', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 0,
'def0': 30,
'def1': 30,
'def2': 0,
'fwd0': 30,
'fwd1': 0,
'gk1': 0,
'gk2': 30,
'mid0': 90,
'mid1': 30,
'mid2': 30,
'mid3': 90,
'mid4': 1},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 0,
'b2': 0,
'def0': 90,
'def1': 30,
'def2': 90,
'def3': 90,
'fwd0': 1,
'gk1': 90,
'gk2': 1,
'mid0': 30,
'mid1': 90,
'mid2': 1,
'mid3': 30,
'mid4': 90},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 30,
'b2': 30,
'def0': 90,
'def1': 30,
'def2': 1,
'def3': 1,
'fwd0': 1,
'fwd1': 1,
'gk1': 1,
'gk2': 0,
'mid0': 0,
'mid1': 1,
'mid2': 0,
'mid3': 30},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'b0', 'mid1', 'b1', 'mid3', 'fwd0', 'fwd1']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 1,
'b2': 1,
'def0': 30,
'def1': 30,
'def2': 90,
'fwd0': 30,
'fwd1': 90,
'fwd2': 0,
'gk1': 1,
'gk2': 30,
'mid0': 0,
'mid1': 0,
'mid2': 1,
'mid3': 0},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'b1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 1,
'b2': 30,
'def0': 90,
'def1': 90,
'def2': 0,
'def3': 90,
'def4': 0,
'fwd0': 0,
'fwd1': 1,
'gk1': 1,
'gk2': 30,
'mid0': 1,
'mid1': 30,
'mid2': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'b2', 'fwd0', 'fwd1']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 0,
'def0': 0,
'def1': 0,
'def2': 30,
'fwd0': 90,
'fwd1': 30,
'gk1': 90,
'gk2': 0,
'mid0': 0,
'mid1': 1,
'mid2': 90,
'mid3': 0,
'mid4': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 0,
'def0': 1,
'def1': 30,
'def2': 30,
'def3': 90,
'fwd0': 0,
'fwd1': 30,
'gk1': 0,
'gk2': 30,
'mid0': 1,
'mid1': 30,
'mid2': 30,
'mid3': 0},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 30,
'b2': 0,
'def0': 30,
'def1': 1,
'def2': 0,
'def3': 90,
'fwd0': 0,
'fwd1': 1,
'gk1': 0,
'gk2': 90,
'mid0': 30,
'mid1': 90,
'mid2': 1,
'mid3': 0},
{'b0': 'DEF',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk2', 'def0', 'def1', 'b1', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 30,
'def0': 0,
'def1': 1,
'def2': 1,
'fwd0': 30,
'fwd1': 30,
'gk1': 0,
'gk2': 30,
'mid0': 0,
'mid1': 30,
'mid2': 30,
'mid3': 0,
'mid4': 0},
{'b0': 'MID',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: bench priority order | ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2'] | ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2'] | Failed |
| partial repair probe: bench priority order | ['gk1', 'def0', 'def1', 'b1', 'def3', 'b0', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | Failed |
| second regression | ['gk1', 'b2', 'def1', 'b0', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | ['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | Failed |
| normal control 1 | ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'] | ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'] | Passed |
| normal control 2 | ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1'] | ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1'] | Passed |
| normal control 3 | ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'] | ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'] | Passed |
| normal control 4 | ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | Passed |
SHA-256 / 9a56db28d2246d5d79a266660c2231347d45c0ef0c02feb3f233fb9404fc4040
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(starters, bench, minutes, pos):
xi = list(starters)
used = set()
def valid(team):
c = {'DEF': 0, 'MID': 0, 'FWD': 0}
for n in team:
if pos[n] in c:
c[pos[n]] += 1
return c['DEF'] >= 3 and c['MID'] >= 2 and c['FWD'] >= 1
for i, s in enumerate(starters):
if minutes[s] > 0:
continue
if pos[s] == 'GK':
g = bench[0]
if minutes[g] > 0:
xi[i] = g
used.add(g)
continue
for b in bench[1:]:
if b in used or minutes[b] == 0:
continue
trial = xi[:i] + [b] + xi[i + 1:]
if valid(trial):
xi[i] = b
used.add(b)
break
return xi
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 30,
'b2': 90,
'def0': 1,
'def1': 0,
'def2': 0,
'fwd0': 30,
'fwd1': 90,
'fwd2': 90,
'gk1': 90,
'gk2': 90,
'mid0': 90,
'mid1': 90,
'mid2': 30,
'mid3': 0},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 90,
'b2': 0,
'def0': 30,
'def1': 1,
'def2': 0,
'def3': 30,
'def4': 0,
'fwd0': 30,
'fwd1': 0,
'gk1': 30,
'gk2': 0,
'mid0': 30,
'mid1': 30,
'mid2': 30},
{'b0': 'FWD',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 1,
'def0': 0,
'def1': 90,
'def2': 0,
'def3': 30,
'def4': 90,
'fwd0': 0,
'fwd1': 1,
'gk1': 30,
'gk2': 30,
'mid0': 90,
'mid1': 30,
'mid2': 1},
{'b0': 'DEF',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 30,
'def0': 30,
'def1': 90,
'def2': 30,
'def3': 30,
'fwd0': 1,
'gk1': 1,
'gk2': 0,
'mid0': 0,
'mid1': 30,
'mid2': 0,
'mid3': 30,
'mid4': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 90,
'def0': 0,
'def1': 1,
'def2': 90,
'fwd0': 30,
'fwd1': 90,
'gk1': 1,
'gk2': 1,
'mid0': 30,
'mid1': 90,
'mid2': 0,
'mid3': 90,
'mid4': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 90,
'def0': 1,
'def1': 0,
'def2': 0,
'fwd0': 30,
'fwd1': 30,
'fwd2': 1,
'gk1': 0,
'gk2': 0,
'mid0': 1,
'mid1': 90,
'mid2': 30,
'mid3': 90},
{'b0': 'MID',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 30,
'def0': 90,
'def1': 90,
'def2': 90,
'def3': 30,
'def4': 1,
'fwd0': 1,
'fwd1': 90,
'gk1': 0,
'gk2': 0,
'mid0': 1,
'mid1': 30,
'mid2': 1},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 90,
'b2': 1,
'def0': 90,
'def1': 0,
'def2': 90,
'def3': 1,
'fwd0': 30,
'gk1': 1,
'gk2': 30,
'mid0': 30,
'mid1': 1,
'mid2': 1,
'mid3': 90,
'mid4': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b0', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'b1', 'fwd0']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 90,
'b2': 1,
'def0': 30,
'def1': 1,
'def2': 0,
'fwd0': 1,
'fwd1': 90,
'fwd2': 1,
'gk1': 1,
'gk2': 1,
'mid0': 0,
'mid1': 30,
'mid2': 30,
'mid3': 90},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'b2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 1,
'b2': 30,
'def0': 30,
'def1': 90,
'def2': 30,
'def3': 90,
'def4': 90,
'fwd0': 0,
'fwd1': 90,
'gk1': 30,
'gk2': 1,
'mid0': 0,
'mid1': 0,
'mid2': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'b0', 'b2', 'mid2', 'b1', 'fwd1']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 0,
'def0': 30,
'def1': 1,
'def2': 1,
'fwd0': 30,
'fwd1': 1,
'fwd2': 0,
'gk1': 0,
'gk2': 1,
'mid0': 0,
'mid1': 30,
'mid2': 90,
'mid3': 1},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 0,
'def0': 90,
'def1': 90,
'def2': 0,
'def3': 1,
'def4': 90,
'fwd0': 1,
'fwd1': 0,
'gk1': 0,
'gk2': 90,
'mid0': 30,
'mid1': 30,
'mid2': 0},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk2', 'def0', 'def1', 'b0', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 30,
'b2': 0,
'def0': 0,
'def1': 0,
'def2': 30,
'def3': 0,
'fwd0': 0,
'fwd1': 1,
'gk1': 90,
'gk2': 30,
'mid0': 90,
'mid1': 1,
'mid2': 1,
'mid3': 1},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'b1', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 0,
'b2': 0,
'def0': 0,
'def1': 90,
'def2': 90,
'fwd0': 1,
'fwd1': 0,
'gk1': 90,
'gk2': 0,
'mid0': 90,
'mid1': 0,
'mid2': 30,
'mid3': 1,
'mid4': 1},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'b0', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 90,
'def0': 30,
'def1': 30,
'def2': 30,
'fwd0': 30,
'fwd1': 0,
'gk1': 30,
'gk2': 90,
'mid0': 1,
'mid1': 90,
'mid2': 0,
'mid3': 0,
'mid4': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'b2', 'mid4', 'fwd0', 'fwd1']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 1,
'b2': 0,
'def0': 30,
'def1': 90,
'def2': 90,
'def3': 0,
'fwd0': 90,
'gk1': 30,
'gk2': 30,
'mid0': 90,
'mid1': 90,
'mid2': 30,
'mid3': 0,
'mid4': 1},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'mid0', 'mid1', 'mid2', 'b1', 'mid4', 'fwd0']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 1,
'b2': 90,
'def0': 30,
'def1': 1,
'def2': 1,
'def3': 30,
'fwd0': 30,
'gk1': 1,
'gk2': 1,
'mid0': 90,
'mid1': 0,
'mid2': 0,
'mid3': 90,
'mid4': 90},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'b0', 'b1', 'mid3', 'mid4', 'fwd0']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 90,
'def0': 0,
'def1': 1,
'def2': 0,
'fwd0': 1,
'fwd1': 0,
'gk1': 30,
'gk2': 90,
'mid0': 90,
'mid1': 30,
'mid2': 1,
'mid3': 90,
'mid4': 1},
{'b0': 'DEF',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'b0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'b2']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 0,
'def0': 90,
'def1': 0,
'def2': 0,
'def3': 0,
'fwd0': 0,
'gk1': 90,
'gk2': 0,
'mid0': 0,
'mid1': 30,
'mid2': 1,
'mid3': 1,
'mid4': 1},
{'b0': 'MID',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 1,
'b2': 0,
'def0': 30,
'def1': 0,
'def2': 30,
'def3': 0,
'fwd0': 1,
'gk1': 1,
'gk2': 30,
'mid0': 0,
'mid1': 90,
'mid2': 1,
'mid3': 30,
'mid4': 30},
{'b0': 'MID',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 30,
'def0': 0,
'def1': 1,
'def2': 1,
'fwd0': 1,
'fwd1': 0,
'fwd2': 90,
'gk1': 1,
'gk2': 90,
'mid0': 30,
'mid1': 1,
'mid2': 0,
'mid3': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b2', 'mid3', 'fwd0', 'fwd1', 'fwd2'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 30,
'b2': 90,
'def0': 90,
'def1': 1,
'def2': 1,
'def3': 90,
'def4': 90,
'fwd0': 0,
'fwd1': 30,
'gk1': 1,
'gk2': 30,
'mid0': 90,
'mid1': 1,
'mid2': 90},
{'b0': 'FWD',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'b0', 'fwd1']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 0,
'b2': 1,
'def0': 30,
'def1': 30,
'def2': 30,
'fwd0': 30,
'fwd1': 90,
'fwd2': 90,
'gk1': 1,
'gk2': 1,
'mid0': 30,
'mid1': 30,
'mid2': 1,
'mid3': 0},
{'b0': 'FWD',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 90,
'b2': 30,
'def0': 90,
'def1': 90,
'def2': 90,
'fwd0': 0,
'fwd1': 0,
'fwd2': 30,
'gk1': 1,
'gk2': 90,
'mid0': 0,
'mid1': 1,
'mid2': 90,
'mid3': 30},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b1', 'mid1', 'mid2', 'mid3', 'b2', 'fwd1', 'fwd2']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 0,
'def0': 0,
'def1': 1,
'def2': 0,
'fwd0': 30,
'fwd1': 30,
'fwd2': 0,
'gk1': 1,
'gk2': 90,
'mid0': 0,
'mid1': 30,
'mid2': 30,
'mid3': 30},
{'b0': 'MID',
'b1': 'MID',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 1,
'b2': 30,
'def0': 90,
'def1': 0,
'def2': 1,
'fwd0': 30,
'fwd1': 0,
'gk1': 30,
'gk2': 90,
'mid0': 1,
'mid1': 0,
'mid2': 30,
'mid3': 30,
'mid4': 30},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'b1', 'def2', 'mid0', 'b2', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 0,
'def0': 30,
'def1': 30,
'def2': 0,
'fwd0': 30,
'fwd1': 0,
'gk1': 0,
'gk2': 30,
'mid0': 90,
'mid1': 30,
'mid2': 30,
'mid3': 90,
'mid4': 1},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 0,
'b2': 0,
'def0': 90,
'def1': 30,
'def2': 90,
'def3': 90,
'fwd0': 1,
'gk1': 90,
'gk2': 1,
'mid0': 30,
'mid1': 90,
'mid2': 1,
'mid3': 30,
'mid4': 90},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'])],
[('regression: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 30,
'b2': 30,
'def0': 90,
'def1': 30,
'def2': 1,
'def3': 1,
'fwd0': 1,
'fwd1': 1,
'gk1': 1,
'gk2': 0,
'mid0': 0,
'mid1': 1,
'mid2': 0,
'mid3': 30},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'def3', 'b0', 'mid1', 'b1', 'mid3', 'fwd0', 'fwd1']),
('partial repair probe: bench priority order',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 30,
'b1': 1,
'b2': 1,
'def0': 30,
'def1': 30,
'def2': 90,
'fwd0': 30,
'fwd1': 90,
'fwd2': 0,
'gk1': 1,
'gk2': 30,
'mid0': 0,
'mid1': 0,
'mid2': 1,
'mid3': 0},
{'b0': 'MID',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'fwd2': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'b1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2']),
('second regression',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 1,
'b1': 1,
'b2': 30,
'def0': 90,
'def1': 90,
'def2': 0,
'def3': 90,
'def4': 0,
'fwd0': 0,
'fwd1': 1,
'gk1': 1,
'gk2': 30,
'mid0': 1,
'mid1': 30,
'mid2': 0},
{'b0': 'DEF',
'b1': 'FWD',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'def4': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID'}],
['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'b2', 'fwd0', 'fwd1']),
('normal control 1',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 90,
'b1': 0,
'b2': 0,
'def0': 0,
'def1': 0,
'def2': 30,
'fwd0': 90,
'fwd1': 30,
'gk1': 90,
'gk2': 0,
'mid0': 0,
'mid1': 1,
'mid2': 90,
'mid3': 0,
'mid4': 90},
{'b0': 'MID',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
('normal control 2',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 0,
'def0': 1,
'def1': 30,
'def2': 30,
'def3': 90,
'fwd0': 0,
'fwd1': 30,
'gk1': 0,
'gk2': 30,
'mid0': 1,
'mid1': 30,
'mid2': 30,
'mid3': 0},
{'b0': 'FWD',
'b1': 'DEF',
'b2': 'FWD',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
('normal control 3',
[['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 30,
'b2': 0,
'def0': 30,
'def1': 1,
'def2': 0,
'def3': 90,
'fwd0': 0,
'fwd1': 1,
'gk1': 0,
'gk2': 90,
'mid0': 30,
'mid1': 90,
'mid2': 1,
'mid3': 0},
{'b0': 'DEF',
'b1': 'DEF',
'b2': 'DEF',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'def3': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID'}],
['gk2', 'def0', 'def1', 'b1', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
('normal control 4',
[['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
['gk2', 'b0', 'b1', 'b2'],
{'b0': 0,
'b1': 0,
'b2': 30,
'def0': 0,
'def1': 1,
'def2': 1,
'fwd0': 30,
'fwd1': 30,
'gk1': 0,
'gk2': 30,
'mid0': 0,
'mid1': 30,
'mid2': 30,
'mid3': 0,
'mid4': 0},
{'b0': 'MID',
'b1': 'MID',
'b2': 'MID',
'def0': 'DEF',
'def1': 'DEF',
'def2': 'DEF',
'fwd0': 'FWD',
'fwd1': 'FWD',
'gk1': 'GK',
'gk2': 'GK',
'mid0': 'MID',
'mid1': 'MID',
'mid2': 'MID',
'mid3': 'MID',
'mid4': 'MID'}],
['gk2', 'def0', 'def1', 'def2', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: bench priority order | ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2'] | ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2'] | Passed |
| partial repair probe: bench priority order | ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | Passed |
| second regression | ['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | ['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | Passed |
| normal control 1 | ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'] | ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'] | Passed |
| normal control 2 | ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1'] | ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1'] | Passed |
| normal control 3 | ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'] | ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'] | Passed |
| normal control 4 | ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'] | Passed |
SHA-256 / a56c1b28ec8368089d7945db204e6207ec296b9b00165f1b352b37b4674a6bcd
Verification & scope
A deterministic toy scoring contract stipulated for this example; it is not the rulebook of any real fantasy platform. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:50:38.595440+00:00.
Case digest / d7e33d134abad225f7f26b317fe78af1177ab264566e7bbab47c191c82b894c9