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());
|
}
|
}
|