73 lines
2.3 KiB
Python
73 lines
2.3 KiB
Python
"""Tests for common.py."""
|
|
|
|
import string
|
|
|
|
from gomill_tests import gomill_test_support
|
|
|
|
from gomill import common
|
|
|
|
def make_tests(suite):
|
|
suite.addTests(gomill_test_support.make_simple_tests(globals()))
|
|
|
|
|
|
def test_opponent_of(tc):
|
|
oo = common.opponent_of
|
|
tc.assertEqual(oo('b'), 'w')
|
|
tc.assertEqual(oo('w'), 'b')
|
|
tc.assertRaises(ValueError, oo, 'x')
|
|
tc.assertRaises(ValueError, oo, None)
|
|
tc.assertRaises(ValueError, oo, 'B')
|
|
|
|
def test_colour_name(tc):
|
|
cn = common.colour_name
|
|
tc.assertEqual(cn('b'), 'black')
|
|
tc.assertEqual(cn('w'), 'white')
|
|
tc.assertRaises(ValueError, cn, 'x')
|
|
tc.assertRaises(ValueError, cn, None)
|
|
tc.assertRaises(ValueError, cn, 'B')
|
|
|
|
def test_column_letters(tc):
|
|
tc.assertEqual(common.column_letters,
|
|
"".join(c for c in string.uppercase if c != 'I'))
|
|
|
|
def test_format_vertex(tc):
|
|
fv = common.format_vertex
|
|
tc.assertEqual(fv(None), "pass")
|
|
tc.assertEqual(fv((0, 0)), "A1")
|
|
tc.assertEqual(fv((8, 8)), "J9")
|
|
tc.assertEqual(fv((1, 5)), "F2")
|
|
tc.assertEqual(fv((24, 24)), "Z25")
|
|
tc.assertRaises(ValueError, fv, (-1, 2))
|
|
tc.assertRaises(ValueError, fv, (2, -1))
|
|
tc.assertRaises(ValueError, fv, (25, 1))
|
|
tc.assertRaises(ValueError, fv, (1, 25))
|
|
|
|
def test_format_vertex_list(tc):
|
|
fvl = common.format_vertex_list
|
|
tc.assertEqual(fvl([]), "")
|
|
tc.assertEqual(fvl([(0, 0)]), "A1")
|
|
tc.assertEqual(fvl([(0, 0), (1, 5)]), "A1,F2")
|
|
tc.assertEqual(fvl([(0, 0), None, (1, 5)]), "A1,pass,F2")
|
|
|
|
def test_move_from_vertex(tc):
|
|
cv = common.move_from_vertex
|
|
tc.assertEqual(cv("pass", 9), None)
|
|
tc.assertEqual(cv("pAss", 9), None)
|
|
tc.assertEqual(cv("A1", 9), (0, 0))
|
|
tc.assertEqual(cv("a1", 9), (0, 0))
|
|
tc.assertEqual(cv("A01", 9), (0, 0))
|
|
tc.assertEqual(cv("J9", 9), (8, 8))
|
|
tc.assertEqual(cv("M11", 19), (10, 11))
|
|
tc.assertRaises(ValueError, cv, "M11", 9)
|
|
tc.assertRaises(ValueError, cv, "K9", 9)
|
|
tc.assertRaises(ValueError, cv, "J10", 9)
|
|
tc.assertRaises(ValueError, cv, "I5", 9)
|
|
tc.assertRaises(ValueError, cv, "", 9)
|
|
tc.assertRaises(ValueError, cv, "29", 9)
|
|
tc.assertRaises(ValueError, cv, "@9", 9)
|
|
tc.assertRaises(ValueError, cv, "A-3", 9)
|
|
tc.assertRaises(ValueError, cv, None, 9)
|
|
tc.assertRaises(ValueError, cv, "A1", 0)
|
|
tc.assertRaises(ValueError, cv, "A1", 30)
|
|
|