1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.assembly.archive.phase;
20
21 import java.util.ArrayList;
22 import java.util.List;
23
24 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
25 import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException;
26 import org.apache.maven.plugins.assembly.archive.ArchiveCreationException;
27 import org.apache.maven.plugins.assembly.artifact.DependencyResolutionException;
28 import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
29 import org.apache.maven.plugins.assembly.model.Assembly;
30 import org.codehaus.plexus.archiver.Archiver;
31 import org.junit.Test;
32
33 import static org.junit.Assert.assertSame;
34
35 public class AssemblyArchiverPhaseComparatorTest {
36
37 @Test
38 public void comparatorSortsCorrectly() throws Exception {
39 List<AssemblyArchiverPhase> items = new ArrayList<>();
40 Unordered2 u2 = new Unordered2();
41 items.add(u2);
42 Ordered2 o2 = new Ordered2();
43 items.add(o2);
44 Ordered1 o1 = new Ordered1();
45 items.add(o1);
46 Unordered1 u1 = new Unordered1();
47 items.add(u1);
48 items.sort(new AssemblyArchiverPhaseComparator());
49 assertSame(u1, items.get(0));
50 assertSame(u2, items.get(1));
51 assertSame(o1, items.get(2));
52 assertSame(o2, items.get(3));
53 }
54
55 static class Basic implements AssemblyArchiverPhase {
56 public void execute(Assembly assembly, Archiver archiver, AssemblerConfigurationSource configSource)
57 throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException,
58 DependencyResolutionException {}
59 }
60
61 static class Ordered1 extends Basic implements PhaseOrder {
62 public int order() {
63 return 20;
64 }
65 }
66
67 static class Ordered2 extends Basic implements PhaseOrder {
68 public int order() {
69 return 30;
70 }
71 }
72
73 static class Unordered1 extends Basic {}
74
75 static class Unordered2 extends Basic {}
76 }