Esempio n. 1
0
 def __movestr(self, board):
     move = board.lastMove
     if self.fan:           
         movestr = unicode(toFAN(board.prev, move))
     else:          
         movestr =  unicode(toSAN(board.prev, move, True))
     nagsymbols = "".join([nag2symbol(nag) for nag in board.nags])
     # To prevent wrap castling we will use hyphen bullet (U+2043)       
     return "%s%s%s" % (move_count(board), movestr.replace(u'-', u'\u2043'), nagsymbols)
Esempio n. 2
0
    def test_parseFAN(self):
        """Testing parseFAN"""

        board = LBoard()
        board.applyFen("rnbqkbnr/8/8/8/8/8/8/RNBQKBNR w KQkq - 0 1")

        for lmove in genAllMoves(board):
            board.applyMove(lmove)
            if board.opIsChecked():
                board.popMove()
                continue

            board.popMove()

            fan = toFAN(board, lmove)
            self.assertEqual(parseFAN(board, fan), lmove)
Esempio n. 3
0
    def test_parseFAN(self):
        """Testing parseFAN"""

        board = LBoard()
        board.applyFen("rnbqkbnr/8/8/8/8/8/8/RNBQKBNR w KQkq - 0 1")        

        for lmove in genAllMoves(board):
            board.applyMove(lmove)
            if board.opIsChecked():
                board.popMove()
                continue

            board.popMove()

            fan = toFAN(board, lmove)
            self.assertEqual(parseFAN(board, fan), lmove)