@Test
    public void testGetAllAvailableMoves() {
        System.out.println("getAllAvailableMoves");
        Board board = new Board(8, 12);
        RuleManager instance = new RuleManager();
        SetMultimap<Position, Position> expResult = HashMultimap.create();
        for (int i = 1; i < board.getSize(); i += 2) {
            if (i != 1) {
                expResult.put(new Position(6, i), new Position(5, i - 1));
            }

            expResult.put(new Position(6, i), new Position(5, i + 1));
        }
        SetMultimap<Position, Position> result = instance.getAllAvailableMoves(Player.PLAYER_TWO, board);
        assertEquals(expResult, result);

        try {
            board.movePiece(new Position(3, 2), new Position(5, 2));
        } catch (IllegalPieceMovementException ex) {
            Logger.getLogger(RuleManagerTest.class.getName()).log(Level.SEVERE, null, ex);
        }

        expResult = HashMultimap.create();
        expResult.put(new Position(6, 1), new Position(4, 3));
        expResult.put(new Position(6, 3), new Position(4, 1));
        result = instance.getAllAvailableCaptures(Player.PLAYER_TWO, board);
        assertEquals(expResult, result);

        board = new Board(8, 12);
        try {
            board.movePiece(new Position(1, 2), new Position(5, 2));
            board.movePiece(new Position(1, 4), new Position(5, 4));
        } catch (IllegalPieceMovementException ex) {
            Logger.getLogger(RuleManagerTest.class.getName()).log(Level.SEVERE, null, ex);
        }

        expResult = HashMultimap.create();
        expResult.put(new Position(6, 3), new Position(4, 5));
        expResult.put(new Position(6, 3), new Position(4, 1));
        expResult.put(new Position(6, 1), new Position(4, 3));
        expResult.put(new Position(6, 5), new Position(4, 3));
        result = instance.getAllAvailableCaptures(Player.PLAYER_TWO, board);
        assertEquals(expResult, result);

    }