package ch.asynk.rustanddust; import org.junit.Test; import ch.asynk.rustanddust.engine.util.IterableArray; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; public class Util { @Test public void testArray() { IterableArray a = new IterableArray(3); assertTrue(a.isEmpty()); assertTrue(a.size() == 0); a.add(new Object()); assertFalse(a.isEmpty()); assertTrue(a.size() == 1); a.add(new Object()); assertFalse(a.isEmpty()); assertTrue(a.size() == 2); Object o = new Object(); assertFalse(a.contains(o)); a.add(o); assertTrue(a.contains(o)); assertFalse(a.isEmpty()); assertTrue(a.size() == 3); a.add(new Object()); assertFalse(a.isEmpty()); assertTrue(a.size() == 4); assertTrue(a.get(2) == o); a.clear(); assertTrue(a.isEmpty()); assertTrue(a.size() == 0); a.add(new Object()); assertFalse(a.isEmpty()); assertTrue(a.size() == 1); a.add(new Object()); assertFalse(a.isEmpty()); assertTrue(a.size() == 2); assertFalse(a.contains(o)); a.add(o); assertTrue(a.contains(o)); assertFalse(a.isEmpty()); assertTrue(a.size() == 3); a.add(new Object()); assertFalse(a.isEmpty()); assertTrue(a.size() == 4); assertTrue(a.get(2) == o); a.add(o); assertTrue(a.contains(o)); assertFalse(a.isEmpty()); assertTrue(a.size() == 5); assertTrue(a.remove(o)); assertFalse(a.isEmpty()); assertTrue(a.size() == 4); assertTrue(a.remove(o)); assertFalse(a.isEmpty()); assertTrue(a.size() == 3); assertFalse(a.remove(o)); assertNotNull(a.remove(1)); assertFalse(a.isEmpty()); assertTrue(a.size() == 2); } }