def test_board_initial_state(): board = Board() board._populate_with_default() nose.tools.ok_(isinstance(board['a1'], Rook)) nose.tools.ok_(isinstance(board['b1'], Knight)) nose.tools.ok_(isinstance(board['c1'], Bishop)) nose.tools.ok_(isinstance(board['d1'], Queen)) nose.tools.ok_(isinstance(board['e1'], King)) nose.tools.ok_(isinstance(board['f1'], Bishop)) nose.tools.ok_(isinstance(board['g1'], Knight)) nose.tools.ok_(isinstance(board['h1'], Rook)) nose.tools.ok_(isinstance(board['a8'], Rook)) nose.tools.ok_(isinstance(board['b8'], Knight)) nose.tools.ok_(isinstance(board['c8'], Bishop)) nose.tools.ok_(isinstance(board['d8'], Queen)) nose.tools.ok_(isinstance(board['e8'], King)) nose.tools.ok_(isinstance(board['f8'], Bishop)) nose.tools.ok_(isinstance(board['g8'], Knight)) nose.tools.ok_(isinstance(board['h8'], Rook)) for col in COLUMNS: nose.tools.ok_(isinstance(board[col + '2'], Pawn)) nose.tools.ok_(isinstance(board[col + '7'], Pawn)) nose.tools.eq_(board[col + '1'].color, Color.White) nose.tools.eq_(board[col + '2'].color, Color.White) nose.tools.eq_(board[col + '3'], None) nose.tools.eq_(board[col + '4'], None) nose.tools.eq_(board[col + '5'], None) nose.tools.eq_(board[col + '6'], None) nose.tools.eq_(board[col + '7'].color, Color.Black) nose.tools.eq_(board[col + '8'].color, Color.Black)
def test_board_move_exceptions(): board = Board() board._populate_with_default() nose.tools.assert_raises(InvalidLocationException, board.move, 'dg3', 'd4') nose.tools.assert_raises(EmptyLocationException, board.move, 'd3', 'd4') nose.tools.assert_raises(EmptyLocationException, board.move, 'd5', 'd2')
def test_move_pawn_forward_one(): board = Board() board._populate_with_default() board.move('d2', 'd3') nose.tools.ok_(isinstance(board['d3'], Pawn)) nose.tools.ok_(board.is_location_empty('d2'))