from unittest import TestCase from go.core import isLegalPosition, Go class TestLegal(TestCase): def testLegal(self): board=[ [0,0,0,0,0], [1,1,1,1,1], [-1,-1,0,1,0], [0,0,0,-1,-1], [0,-1,0,-1,0] ] self.assertTrue(isLegalPosition(board)) def testIllegal(self): board=[ [0,1,0,0,0], [1,-1,1,0,0], [0,1,0,0,0], [0,0,0,0,0], [0,0,0,0,0] ] self.assertFalse(isLegalPosition(board)) class TestMove(TestCase): def testCapture(self): g=Go(3) g.load([ [0,1,0], [1,-1,0], [0,1,0] ]) g.toMove=1 g.doMove(1,1,2) self.assertEqual(g.board,[ [0,1,0], [1,0,1], [0,1,0] ]) g._helper.clear() for row in g._helper._board: for x in row: self.assertEqual(x,0)