Browse Source

PostOrderTreeWalkTest: Open TreeWalk in try-with-resource

Also remove unnecessary nesting in test methods.

Change-Id: Id59f8403c0a7b38ebb6b3a24814257cd59ea575d
Signed-off-by: David Pursehouse <david.pursehouse@sonymobile.com>
tags/v4.3.0.201603230630-rc1
David Pursehouse 8 years ago
parent
commit
a3923f6b95

+ 81
- 81
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/PostOrderTreeWalkTest.java View File

@@ -60,124 +60,124 @@ import org.junit.Test;
public class PostOrderTreeWalkTest extends RepositoryTestCase {
@Test
public void testInitialize_NoPostOrder() throws Exception {
final TreeWalk tw = new TreeWalk(db);
assertFalse(tw.isPostOrderTraversal());
try (final TreeWalk tw = new TreeWalk(db)) {
assertFalse(tw.isPostOrderTraversal());
}
}

@Test
public void testInitialize_TogglePostOrder() throws Exception {
final TreeWalk tw = new TreeWalk(db);
assertFalse(tw.isPostOrderTraversal());
tw.setPostOrderTraversal(true);
assertTrue(tw.isPostOrderTraversal());
tw.setPostOrderTraversal(false);
assertFalse(tw.isPostOrderTraversal());
try (final TreeWalk tw = new TreeWalk(db)) {
assertFalse(tw.isPostOrderTraversal());
tw.setPostOrderTraversal(true);
assertTrue(tw.isPostOrderTraversal());
tw.setPostOrderTraversal(false);
assertFalse(tw.isPostOrderTraversal());
}
}

@Test
public void testResetDoesNotAffectPostOrder() throws Exception {
final TreeWalk tw = new TreeWalk(db);
tw.setPostOrderTraversal(true);
assertTrue(tw.isPostOrderTraversal());
tw.reset();
assertTrue(tw.isPostOrderTraversal());

tw.setPostOrderTraversal(false);
assertFalse(tw.isPostOrderTraversal());
tw.reset();
assertFalse(tw.isPostOrderTraversal());
try (final TreeWalk tw = new TreeWalk(db)) {
tw.setPostOrderTraversal(true);
assertTrue(tw.isPostOrderTraversal());
tw.reset();
assertTrue(tw.isPostOrderTraversal());

tw.setPostOrderTraversal(false);
assertFalse(tw.isPostOrderTraversal());
tw.reset();
assertFalse(tw.isPostOrderTraversal());
}
}

@Test
public void testNoPostOrder() throws Exception {
final DirCache tree = db.readDirCache();
{
final DirCacheBuilder b = tree.builder();

b.add(makeFile("a"));
b.add(makeFile("b/c"));
b.add(makeFile("b/d"));
b.add(makeFile("q"));

b.finish();
assertEquals(4, tree.getEntryCount());
final DirCacheBuilder b = tree.builder();

b.add(makeFile("a"));
b.add(makeFile("b/c"));
b.add(makeFile("b/d"));
b.add(makeFile("q"));

b.finish();
assertEquals(4, tree.getEntryCount());

try (final TreeWalk tw = new TreeWalk(db)) {
tw.setPostOrderTraversal(false);
tw.addTree(new DirCacheIterator(tree));

assertModes("a", REGULAR_FILE, tw);
assertModes("b", TREE, tw);
assertTrue(tw.isSubtree());
assertFalse(tw.isPostChildren());
tw.enterSubtree();
assertModes("b/c", REGULAR_FILE, tw);
assertModes("b/d", REGULAR_FILE, tw);
assertModes("q", REGULAR_FILE, tw);
}

final TreeWalk tw = new TreeWalk(db);
tw.setPostOrderTraversal(false);
tw.addTree(new DirCacheIterator(tree));

assertModes("a", REGULAR_FILE, tw);
assertModes("b", TREE, tw);
assertTrue(tw.isSubtree());
assertFalse(tw.isPostChildren());
tw.enterSubtree();
assertModes("b/c", REGULAR_FILE, tw);
assertModes("b/d", REGULAR_FILE, tw);
assertModes("q", REGULAR_FILE, tw);
}

@Test
public void testWithPostOrder_EnterSubtree() throws Exception {
final DirCache tree = db.readDirCache();
{
final DirCacheBuilder b = tree.builder();
final DirCacheBuilder b = tree.builder();

b.add(makeFile("a"));
b.add(makeFile("b/c"));
b.add(makeFile("b/d"));
b.add(makeFile("q"));
b.add(makeFile("a"));
b.add(makeFile("b/c"));
b.add(makeFile("b/d"));
b.add(makeFile("q"));

b.finish();
assertEquals(4, tree.getEntryCount());
}
b.finish();
assertEquals(4, tree.getEntryCount());

final TreeWalk tw = new TreeWalk(db);
tw.setPostOrderTraversal(true);
tw.addTree(new DirCacheIterator(tree));
try (final TreeWalk tw = new TreeWalk(db)) {
tw.setPostOrderTraversal(true);
tw.addTree(new DirCacheIterator(tree));

assertModes("a", REGULAR_FILE, tw);
assertModes("a", REGULAR_FILE, tw);

assertModes("b", TREE, tw);
assertTrue(tw.isSubtree());
assertFalse(tw.isPostChildren());
tw.enterSubtree();
assertModes("b/c", REGULAR_FILE, tw);
assertModes("b/d", REGULAR_FILE, tw);
assertModes("b", TREE, tw);
assertTrue(tw.isSubtree());
assertFalse(tw.isPostChildren());
tw.enterSubtree();
assertModes("b/c", REGULAR_FILE, tw);
assertModes("b/d", REGULAR_FILE, tw);

assertModes("b", TREE, tw);
assertTrue(tw.isSubtree());
assertTrue(tw.isPostChildren());
assertModes("b", TREE, tw);
assertTrue(tw.isSubtree());
assertTrue(tw.isPostChildren());

assertModes("q", REGULAR_FILE, tw);
assertModes("q", REGULAR_FILE, tw);
}
}

@Test
public void testWithPostOrder_NoEnterSubtree() throws Exception {
final DirCache tree = db.readDirCache();
{
final DirCacheBuilder b = tree.builder();
final DirCacheBuilder b = tree.builder();

b.add(makeFile("a"));
b.add(makeFile("b/c"));
b.add(makeFile("b/d"));
b.add(makeFile("q"));
b.add(makeFile("a"));
b.add(makeFile("b/c"));
b.add(makeFile("b/d"));
b.add(makeFile("q"));

b.finish();
assertEquals(4, tree.getEntryCount());
}
b.finish();
assertEquals(4, tree.getEntryCount());

final TreeWalk tw = new TreeWalk(db);
tw.setPostOrderTraversal(true);
tw.addTree(new DirCacheIterator(tree));
try (final TreeWalk tw = new TreeWalk(db)) {
tw.setPostOrderTraversal(true);
tw.addTree(new DirCacheIterator(tree));

assertModes("a", REGULAR_FILE, tw);
assertModes("a", REGULAR_FILE, tw);

assertModes("b", TREE, tw);
assertTrue(tw.isSubtree());
assertFalse(tw.isPostChildren());
assertModes("b", TREE, tw);
assertTrue(tw.isSubtree());
assertFalse(tw.isPostChildren());

assertModes("q", REGULAR_FILE, tw);
assertModes("q", REGULAR_FILE, tw);
}
}

private DirCacheEntry makeFile(final String path) throws Exception {

Loading…
Cancel
Save