package com.beijunyi.parallelgit.filesystem.io; import java.io.IOException; import com.beijunyi.parallelgit.filesystem.AbstractGitFileSystemTest; import org.junit.Before; import org.junit.Test; import static com.beijunyi.parallelgit.filesystem.io.GfsTreeIterator.iterateRoot; import static org.junit.Assert.*; public class GfsTreeIteratorTest extends AbstractGitFileSystemTest { private GfsTreeIterator iterator; @Before public void setUp() throws IOException { initGitFileSystem(); writeToGfs("/file1.txt"); writeToGfs("/file2.txt"); writeToGfs("/file3.txt"); writeToGfs("/file4.txt"); writeToGfs("/file5.txt"); iterator = iterateRoot(gfs); } @Test public void createNewIterator_iteratorShouldStartFromTheFirstEntry() throws IOException { assertTrue(iterator.first()); } @Test public void forwardFour_iteratorShouldBePositionedToTheFifthEntry() throws IOException { iterator.next(4); assertEquals("file5.txt", iterator.getEntryPathString()); } @Test public void forwardFourAndBackwardTwo_iteratorShouldBePositionedToTheThirdEntry() throws IOException { iterator.next(4); iterator.back(2); assertEquals("file3.txt", iterator.getEntryPathString()); } }