package jrummikub.model; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import jrummikub.util.Pair; /** * Mock class for {@link Hand} */ @SuppressWarnings("serial") public class MockHand implements IHand { /** */ public List> stones = new ArrayList>(); /** */ public Set pickups = new HashSet(); /** */ public Iterable> iterable; @Override public void drop(Stone object, Position position) { stones.add(new Pair(object, position)); } @Override public Position getPosition(Stone object) { // TODO Auto-generated method stub return null; } @Override public boolean pickUp(Stone object) { List> itList = new ArrayList>( stones); for (Pair entry : itList) { if (entry.getFirst() == object) { stones.remove(entry); pickups.add(object); return true; } } return false; } @Override public int getSize() { return stones.size(); } @Override public Iterator> iterator() { if (iterable != null) { return iterable.iterator(); } else { return stones.iterator(); } } public MockHand clone() { try { return (MockHand) super.clone(); } catch (CloneNotSupportedException e) { return null; } } @Override public int getRowCount() { return 0; } @Override public int getFreeRowSpace(int row) { // TODO Auto-generated method stub return 0; } @Override public int getStonePoints(GameSettings settings) { // TODO Auto-generated method stub return 0; } public boolean isInitialMeldPossible(GameSettings settings) { return false; } @Override public int getIdenticalStoneCount() { return 0; } @Override public boolean contains(Stone object) { for (Pair stone : stones) { if (stone.getFirst() == object) { return true; } } return false; } }