Coverage for tictactoe/contest/logic : 60%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
"""Fight winner decision logic"""
"""flips 'x', 'o' or 'draw'.""" if res == 'x': return 'o' elif res == 'o': return 'x' elif res == 'draw': return 'draw' else: raise RuntimeError("Invalid res: %s" % str(res))
"""Change one's error to other's win""" else: raise RuntimeError("Invalid r[0]: %s", str(r[0]))
"""Return winner of two rounds: 'e1' or 'e2' or 'draw'.
round1 is e1 (x) vs e2 (o). round2 is e2(x) vs e1(o).
Input format of r1 and r2: * 'ok', 'x' | 'draw' | 'o', ... * 'error', 'x' | 'o', ...
>>> okx = 'ok', 'x' >>> oko = 'ok', 'o' >>> okdraw = 'ok', 'draw' >>> errx = 'error', 'x' >>> erro = 'error', 'o'
>>> winner(okx, oko) 'e1' >>> winner(okx, okx) 'draw' >>> winner(oko, oko) 'draw' >>> winner(okx, erro) 'draw' >>> winner(okx, errx) 'e1' >>> winner(errx, errx) 'draw' >>> winner(erro, erro) 'draw' >>> winner(errx, erro) 'e2' >>> winner(okdraw, okdraw) 'draw' >>> winner(okdraw, oko) 'e1' >>> winner(okdraw, erro) 'e2' """
('x', 'o'): 'e1', ('o', 'x'): 'e2',
('draw', 'o'): 'e1', ('o', 'draw'): 'e2',
('draw', 'x'): 'e2', ('x', 'draw'): 'e1',
('x', 'x'): 'draw', ('o', 'o'): 'draw', ('draw', 'draw'): 'draw', }[(f1, f2)] |