This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
JRummikub/mock/jrummikub/model/MockTable.java

84 lines
1.5 KiB
Java
Raw Permalink Normal View History

package jrummikub.model;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import jrummikub.util.Pair;
/**
* Mock class for {@link Table}
*/
@SuppressWarnings("serial")
public class MockTable implements ITable {
/** */
public Map<Stone, StoneSet> findStoneSet = new HashMap<Stone, StoneSet>();
/** */
public boolean valid = false;
/** */
public ITable clonedTable;
/** */
public List<Pair<StoneSet, Position>> sets = new ArrayList<Pair<StoneSet, Position>>();
@Override
public void pickUpStone(Stone stone) {
// TODO: Auto-generated method stub
}
@Override
public boolean isValid() {
return valid;
}
@Override
public void drop(StoneSet object, Position position) {
sets.add(new Pair<StoneSet, Position>(object, position));
}
@Override
public Position getPosition(StoneSet object) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean pickUp(StoneSet object) {
return false;
}
@Override
public Iterator<Pair<StoneSet, Position>> iterator() {
return sets.iterator();
}
@Override
public StoneSet findStoneSet(Stone stone) {
return findStoneSet.get(stone);
}
public ITable clone() {
if (clonedTable == null)
return this;
return clonedTable;
}
@Override
public int getSize() {
return sets.size();
}
@Override
public boolean contains(StoneSet object) {
for (Pair<StoneSet, Position> set : sets) {
if (set.getFirst() == object) {
return true;
}
}
return false;
}
}