lmw
2023-04-03 16ea883d3c03fd8b910f9282aa1bc08378d40d54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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 IncrementalPositionIteratorTest extends AbstractPositionIteratorTest {
 
    @Override
    AbstractPositionIterator providePositionIterator(int maxPosition) {
        return new IncrementalPositionIterator(maxPosition);
    }
 
    @Test
    public void nextShouldReturnCurrentAndThanIncreasedValue() {
        AbstractPositionIterator iterator = providePositionIterator(5);
        int result = iterator.next();
        assertTrue(result == 0);
        result = iterator.next();
        assertTrue(result == 1);
        result = iterator.next();
        assertTrue(result == 2);
    }
 
    @Test
    public void hasNextShouldReturnTrueIfMaxCountNotReached() {
        AbstractPositionIterator iteratorEmpty = providePositionIterator(0);
        AbstractPositionIterator iterator = providePositionIterator(2);
        assertTrue(iterator.hasNext());
        assertFalse(iteratorEmpty.hasNext());
        iterator.next();
        assertTrue(iterator.hasNext());
        iterator.next();
        assertFalse(iterator.hasNext());
    }
 
    @Test(expected = IllegalStateException.class)
    public void nextWhenMaxCountReachedShouldThrowException() {
        AbstractPositionIterator iterator = providePositionIterator(2);
        int result = iterator.next();
        assertTrue(result == 0);
        result = iterator.next();
        assertTrue(result == 1);
        iterator.next();
    }
 
}