def test_check_move_check(self): result = check_move_syntax.Move('cxb5+').move self.assertEqual('cxb5+', result) result = check_move_syntax.Move('c+xb5').move self.assertEqual('', result)
def test_check_move_check_and_mate(self): result = check_move_syntax.Move('b2b4+#').move self.assertEqual('b4+#', result) result = check_move_syntax.Move('b+#2b4').move self.assertEqual('', result)
def test_check_move_mate(self): result = check_move_syntax.Move('e4xf5#').move self.assertEqual('exf5#', result) result = check_move_syntax.Move('e4x#f5').move self.assertEqual('', result)
def test_pawn_takings_long_should_be_shorten_ok(self): result = check_move_syntax.Move('e4xf5').move self.assertEqual('exf5', result) result = check_move_syntax.Move('c7xb8').move self.assertEqual('cxb8', result)
def test_pawn_takings_short_ok(self): result = check_move_syntax.Move('exf5').move self.assertEqual('exf5', result) result = check_move_syntax.Move('cxb5').move self.assertEqual('cxb5', result)
def test_castle(self): result = check_move_syntax.Move('O-O+').move self.assertEqual('O-O+', result) result = check_move_syntax.Move('O-O-O').move self.assertEqual('O-O-O', result) result = check_move_syntax.Move('O-O-O+#').move self.assertEqual('O-O-O+#', result)
def test_pawn_taking_wrong(self): result = check_move_syntax.Move('e4xf6').move self.assertEqual('', result) result = check_move_syntax.Move('c7xb1').move self.assertEqual('', result) result = check_move_syntax.Move('cx1b2').move self.assertEqual('', result)
def test_pawn_long_moves_wrong(self): result = check_move_syntax.Move('ba4').move self.assertEqual('', result) result = check_move_syntax.Move('bb9').move self.assertEqual('', result) result = check_move_syntax.Move('b3b5').move self.assertEqual('', result) result = check_move_syntax.Move('i7i5').move self.assertEqual('', result)
def test_pawn_short_moves_wrong(self): result = check_move_syntax.Move('b9').move self.assertEqual('', result) result = check_move_syntax.Move('b0').move self.assertEqual('', result) result = check_move_syntax.Move('A4').move self.assertEqual('', result) result = check_move_syntax.Move('q8').move self.assertEqual('', result) result = check_move_syntax.Move('f9').move self.assertEqual('', result)
def test_short_pawn_moves_ok(self): result = check_move_syntax.Move('e4').move self.assertEqual("e4", result) result = check_move_syntax.Move('f8').move self.assertEqual("f8", result) result = check_move_syntax.Move('a1').move self.assertEqual("a1", result) result = check_move_syntax.Move('h8').move self.assertEqual("h8", result) result = check_move_syntax.Move('Ph8').move self.assertEqual("h8", result)
def test_long_pawn_moves_that_should_be_shorten_ok(self): result = check_move_syntax.Move('ee4').move self.assertEqual('e4', result) message = "Pawn move by 2 up" result = check_move_syntax.Move('a2a4').move self.assertEqual('a4', result, message) message = "Pawn move by 2 down" result = check_move_syntax.Move('g7g5').move self.assertEqual('g5', result, message) message = "Pawn move by 1 long" result = check_move_syntax.Move('g7g6').move self.assertEqual('g6', result, message) message = "Pawn move by 1 long" result = check_move_syntax.Move('a4a5').move self.assertEqual('a5', result, message)
def test_piece_move_wrong(self): result = check_move_syntax.Move('Bb9').move self.assertEqual('', result) result = check_move_syntax.Move('Wh8').move self.assertEqual('', result) result = check_move_syntax.Move('Kr4').move self.assertEqual('', result) result = check_move_syntax.Move('Bcr1').move self.assertEqual('', result) result = check_move_syntax.Move('R4cf').move self.assertEqual('', result) result = check_move_syntax.Move('Qc1d28').move self.assertEqual('', result) result = check_move_syntax.Move('####').move self.assertEqual('', result)
def test_piece_move_ok(self): result = check_move_syntax.Move('Bb1').move self.assertEqual('Bb1', result) result = check_move_syntax.Move('Nh8').move self.assertEqual('Nh8', result) result = check_move_syntax.Move('Kf4').move self.assertEqual('Kf4', result) result = check_move_syntax.Move('Bcb1').move self.assertEqual('Bcb1', result) result = check_move_syntax.Move('Rcf4').move self.assertEqual('Rcf4', result) result = check_move_syntax.Move('Qc1d2').move self.assertEqual('Qc1d2', result)