package com.beijunyi.parallelgit.utils; import java.io.IOException; import com.beijunyi.parallelgit.AbstractParallelGitTest; import org.eclipse.jgit.lib.AnyObjectId; import org.eclipse.jgit.revwalk.RevTree; import org.eclipse.jgit.treewalk.TreeWalk; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; public class TreeUtilsTest extends AbstractParallelGitTest { @Before public void setUp() throws Exception { initRepository(); } @Test public void existsTest() throws IOException { writeToCache("a/b.txt"); RevTree tree = commitToMaster().getTree(); assertTrue(TreeUtils.exists("a", tree, repo)); assertTrue(TreeUtils.exists("a/b.txt", tree, repo)); assertFalse(TreeUtils.exists("a/b", tree, repo)); } @Test public void getObjectIdTest() throws IOException { AnyObjectId objectId = writeToCache("a/b.txt"); RevTree tree = commitToMaster().getTree(); assertEquals(objectId, TreeUtils.getObjectId("a/b.txt", tree, repo)); } @Test public void isDirectoryTest() throws IOException { writeToCache("a/b.txt"); RevTree tree = commitToMaster().getTree(); assertTrue(TreeUtils.isDirectory("a", tree, repo)); assertFalse(TreeUtils.isDirectory("a/b.txt", tree, repo)); assertFalse(TreeUtils.isDirectory("a/b", tree, repo)); } private static void assertNextEntry(TreeWalk treeWalk, String path) throws IOException { assertTrue(treeWalk.next()); assertEquals(path, treeWalk.getPathString()); } }