def test_capture_line(self): board = Board() for i in range(1, 20): board.play('b', 'a{}'.format(i)) board.play('w', 'b{}'.format(i)) self.assertEqual(board.final_score(), -19 * 19 - 7.5)
def test_split_line(self): board = Board() for i in range(1, 20): board.play('b', 'b{}'.format(i)) board.play('w', 'c{}'.format(i)) self.assertEqual(board.final_score(), 2 * 19 - 17 * 19 - 7.5)
def test_score_capture_corner_stone(self): board = Board() board.play('b', 'a2') board.play('w', 'a1') board.play('b', 'b1') self.assertEqual(board.final_score(), 19 * 19 - 7.5)
def test_score_corner_territory(self): board = Board() board.play('b', 'a2') board.play('w', 'q16') board.play('b', 'b1') self.assertEqual(board.final_score(), 3 - 1 - 7.5)
def test_score_two_stones(self): board = Board() board.play('b', 'd4') board.play('w', 'q16') self.assertEqual(board.final_score(), -7.5)
def test_score_one_stone(self): board = Board() board.play('b', 'd4') self.assertEqual(board.final_score(), 19 * 19 - 7.5)
def test_score_empty(self): board = Board() self.assertEqual(board.final_score(), -7.5) board.komi(6.5) self.assertEqual(board.final_score(), -6.5)