use of org.eclipse.egit.ui.internal.synchronize.model.GitModelCommit in project egit by eclipse.
the class GitChangeSetSorter method compare.
@Override
public int compare(Viewer viewer, Object e1, Object e2) {
if (e1 instanceof GitModelBlob && !(e2 instanceof GitModelBlob))
return 1;
if (e2 instanceof GitModelBlob && !(e1 instanceof GitModelBlob))
return -1;
if (e1 instanceof GitModelWorkingTree)
return -1;
if (e2 instanceof GitModelWorkingTree)
return 1;
if (e1 instanceof GitModelCache)
return -2;
if (e2 instanceof GitModelCache)
return 2;
if ((e1 instanceof GitModelTree && e2 instanceof GitModelTree) || (e1 instanceof GitModelBlob && e2 instanceof GitModelBlob))
return super.compare(viewer, e1, e2);
if (e1 instanceof GitModelTree && e2 instanceof GitModelCommit)
return 1;
if (e1 instanceof GitModelCommit && e2 instanceof GitModelCommit) {
Commit rc1 = ((GitModelCommit) e1).getCachedCommitObj();
Commit rc2 = ((GitModelCommit) e2).getCachedCommitObj();
return rc2.getCommitDate().compareTo(rc1.getCommitDate());
}
return super.compare(viewer, e1, e2);
}
use of org.eclipse.egit.ui.internal.synchronize.model.GitModelCommit in project egit by eclipse.
the class GitChangeSetSorterTest method workingTreeShouldBeLessThanCommit.
@Test
public void workingTreeShouldBeLessThanCommit() {
// given
Viewer viewer = mock(Viewer.class);
GitChangeSetSorter sorter = new GitChangeSetSorter();
GitModelCommit commit = mock(GitModelCommit.class);
GitModelWorkingTree workingTree = mock(GitModelWorkingTree.class);
// when
int actual = sorter.compare(viewer, workingTree, commit);
// then
assertTrue(actual < 0);
}
use of org.eclipse.egit.ui.internal.synchronize.model.GitModelCommit in project egit by eclipse.
the class GitChangeSetSorterTest method shouldOrderCommitsByCommitDate.
/*
* Test for commit chronological order
*/
@Test
public void shouldOrderCommitsByCommitDate() {
// given
Viewer viewer = mock(Viewer.class);
GitChangeSetSorter sorter = new GitChangeSetSorter();
GitModelCommit commit1 = mock(GitModelCommit.class);
GitModelCommit commit2 = mock(GitModelCommit.class);
Commit mockCommit1 = mock(Commit.class);
Commit mockCommit2 = mock(Commit.class);
when(mockCommit1.getCommitDate()).thenReturn(new Date(333333L));
when(mockCommit2.getCommitDate()).thenReturn(new Date(555555L));
when(commit1.getCachedCommitObj()).thenReturn(mockCommit1);
when(commit2.getCachedCommitObj()).thenReturn(mockCommit2);
// when
int actual1 = sorter.compare(viewer, commit1, commit2);
int actual2 = sorter.compare(viewer, commit2, commit1);
// then
assertTrue(actual1 > 0);
assertTrue(actual2 < 0);
}
use of org.eclipse.egit.ui.internal.synchronize.model.GitModelCommit in project egit by eclipse.
the class GitChangeSetSorterTest method commitTreeShouldBeLessThanBlob.
@Test
public void commitTreeShouldBeLessThanBlob() {
// given
Viewer viewer = mock(Viewer.class);
GitChangeSetSorter sorter = new GitChangeSetSorter();
GitModelCommit commit = mock(GitModelCommit.class);
GitModelBlob blob = mock(GitModelBlob.class);
// when
int actual = sorter.compare(viewer, commit, blob);
// then
assertTrue(actual < 0);
}
use of org.eclipse.egit.ui.internal.synchronize.model.GitModelCommit in project egit by eclipse.
the class GitChangeSetSorterTest method commitTreeShouldBeGreaterThanCache.
@Test
public void commitTreeShouldBeGreaterThanCache() {
// given
Viewer viewer = mock(Viewer.class);
GitChangeSetSorter sorter = new GitChangeSetSorter();
GitModelCommit commit = mock(GitModelCommit.class);
GitModelCache cache = mock(GitModelCache.class);
// when
int actual = sorter.compare(viewer, commit, cache);
// then
assertTrue(actual > 0);
}
Aggregations