{
public RecyclingPileTest(String s) { super(s); }
public void testRemove()
{
RecyclingPile rp = new RecyclingPile();
rp.addAll(PileOfCards.getStandardDeck());
int size = rp.size();
for (int i = 0; i < size - 1; i++)
{
rp.recycle(rp.takeTop());
}
assertEquals(1, rp.size()); // check that the remove worked
// this remove operation should cause the pile to be regenerated.
rp.takeTop();
assertEquals(size - 1, rp.size());
// go through all the cards again, to make sure that nothing
// funny happens on the second regeneration (e.g. double-size pile!).
for (int i = 0; i < size - 1; i++)
{
rp.recycle(rp.takeTop());
}
assertEquals(size - 2, rp.size()); // check that the remove worked
}