package org.numenta.nupic.util; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.util.ArrayList; import java.util.List; import org.junit.Test; public class GeneratorTest { ///////////////////////////////// // Utility Methods // ///////////////////////////////// /** * Returns an {@link AbstractGenerator} that runs for 30 iterations * * @return an {@link AbstractGenerator} that runs for 30 iterations */ private Generator<Integer> getGenerator() { return new Generator<Integer>() { /** serial version */ private static final long serialVersionUID = 1L; @Override public boolean hasNext() { return true; } @Override public Integer next() { return new Integer(42); } }; } @Test public void testInterface() { Generator<Integer> bg = getGenerator(); assertEquals(bg, bg.iterator()); assertTrue(bg.hasNext()); assertEquals((Integer)42, (Integer)bg.next()); // Test other interface methods assertEquals(-1, bg.get()); assertEquals(-1, bg.size()); try { bg.reset(); }catch(Exception e) { fail(); } } @Test public void testOf() { List<Integer> l = new ArrayList<>(); l.add(42); Generator<Integer> g = Generator.of(l, IntGenerator.of(0, 1)); assertEquals(42, (int)g.next()); assertFalse(g.hasNext()); } }