package com.beloo.widget.chipslayoutmanager.layouter; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import static org.junit.Assert.*; @RunWith(JUnit4.class) public class DecrementalPositionIteratorTest extends AbstractPositionIteratorTest { @Override AbstractPositionIterator providePositionIterator(int maxPosition) { return new DecrementalPositionIterator(maxPosition); } @Test(expected = IllegalStateException.class) public void callingNextWhenNegativePositionReachedShouldThrowException() { AbstractPositionIterator iterator = providePositionIterator(5); assertTrue(iterator.next() == 0); iterator.next(); } @Test public void nextShouldDecreaseResultPosition() { AbstractPositionIterator iterator = providePositionIterator(5); iterator.move(3); assertTrue(iterator.next() == 3); assertTrue(iterator.next() == 2); } @Test public void hasNextShouldReturnTrueIfZeroPositionIsNotPrevious() { AbstractPositionIterator iterator = providePositionIterator(2); iterator.move(1); assertTrue(iterator.hasNext()); iterator.next(); assertTrue(iterator.hasNext()); iterator.next(); assertFalse(iterator.hasNext()); } }