@Test
public void testCommitBuilder() throws Exception {
RevCommitBuilder b = RevCommit.builder();
b.author("groldan");
b.authorEmail("groldan@boundlessgeo.com");
b.committer("jdeolive");
b.committerEmail("jdeolive@boundlessgeo.com");
b.message("cool this works");
b.authorTimestamp(1000L);
ObjectId treeId = hashString("fake tree content");
b.treeId(treeId);
ObjectId parentId1 = hashString("fake parent content 1");
ObjectId parentId2 = hashString("fake parent content 2");
List<ObjectId> parentIds = ImmutableList.of(parentId1, parentId2);
b.parentIds(parentIds);
RevCommit commit1 = b.build();
RevCommitBuilder builder = RevCommit.builder().init(commit1);
assertEquals("groldan", builder.author());
assertEquals("jdeolive", builder.committer());
assertEquals("groldan@boundlessgeo.com", builder.authorEmail());
assertEquals("jdeolive@boundlessgeo.com", builder.committerEmail());
assertEquals(commit1.getMessage(), builder.message());
assertEquals(commit1.getParentIds(), builder.parentIds());
assertEquals(commit1.getTreeId(), builder.treeId());
assertEquals(commit1.getAuthor().getTimestamp(), builder.authorTimestamp().longValue());
RevCommit commit2 = builder.build();
assertEquals(commit1, commit2);
}