reverseiteratortest.java

来自「BOOK:Beginning Algorithms Code Example」· Java 代码 · 共 62 行

JAVA
62
字号
package com.wrox.algorithms.iteration;import junit.framework.TestCase;/** * Test cases for {@link ReverseIterator}. * */public class ReverseIteratorTest extends TestCase {    private static final Object[] ARRAY = new Object[] {"A", "B", "C"};    public void testForwardsIterationBecomesBackwards() {        ReverseIterator iterator = new ReverseIterator(new ArrayIterator(ARRAY));        iterator.first();        assertFalse(iterator.isDone());        assertSame(ARRAY[2], iterator.current());        iterator.next();        assertFalse(iterator.isDone());        assertSame(ARRAY[1], iterator.current());        iterator.next();        assertFalse(iterator.isDone());        assertSame(ARRAY[0], iterator.current());        iterator.next();        assertTrue(iterator.isDone());        try {            iterator.current();            fail();        } catch (IteratorOutOfBoundsException e) {            // expected        }    }    public void testBackwardsIterationBecomesForwards() {        ReverseIterator iterator = new ReverseIterator(new ArrayIterator(ARRAY));        iterator.last();        assertFalse(iterator.isDone());        assertSame(ARRAY[0], iterator.current());        iterator.previous();        assertFalse(iterator.isDone());        assertSame(ARRAY[1], iterator.current());        iterator.previous();        assertFalse(iterator.isDone());        assertSame(ARRAY[2], iterator.current());        iterator.previous();        assertTrue(iterator.isDone());        try {            iterator.current();            fail();        } catch (IteratorOutOfBoundsException e) {            // expected        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?