package com.beijunyi.parallelgit.utils;
import java.io.IOException;
import java.util.List;
import com.beijunyi.parallelgit.AbstractParallelGitTest;
import org.eclipse.jgit.revwalk.RevCommit;
import org.junit.Before;
import org.junit.Test;
import static com.beijunyi.parallelgit.utils.RepositoryUtils.setRefLogEnabled;
import static com.beijunyi.parallelgit.utils.StashUtils.*;
import static org.junit.Assert.assertEquals;
public class StashUtilsCreateStashTest extends AbstractParallelGitTest {
@Before
public void setUp() throws Exception {
initFileRepository(true);
setRefLogEnabled(true, repo);
}
@Test
public void addStashAndListStashes_theFirstOneShouldBeTheNewStash() throws IOException {
writeSomethingToCache();
RevCommit expected = commit();
addToStash(expected, repo);
List<RevCommit> stashes = listStashes(repo);
assertEquals(expected, stashes.get(0));
}
@Test
public void addTwoStashes_listStashesShouldReturnTheStashesInReverseOrder() throws IOException {
writeSomethingToCache();
RevCommit first = commit();
addToStash(first, repo);
writeSomethingToCache();
RevCommit second = commit();
addToStash(second, repo);
List<RevCommit> stashes = listStashes(repo);
assertEquals(second, stashes.get(0));
assertEquals(first, stashes.get(1));
}
}