1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.project.artifact;
20
21 import java.util.LinkedHashSet;
22 import java.util.Set;
23
24 import org.apache.maven.artifact.Artifact;
25 import org.apache.maven.artifact.DefaultArtifact;
26 import org.codehaus.plexus.PlexusTestCase;
27
28 import static org.junit.Assert.assertArrayEquals;
29
30 public class DefaultProjectArtifactsCacheTest extends PlexusTestCase {
31
32 private ProjectArtifactsCache cache;
33
34 @Override
35 protected void setUp() throws Exception {
36 super.setUp();
37 cache = lookup(ProjectArtifactsCache.class);
38 }
39
40 public void testProjectDependencyOrder() throws Exception {
41 ProjectArtifactsCache.Key project1 = new ProjectArtifactsCache.Key() {};
42
43 Set<Artifact> artifacts = new LinkedHashSet<>(4);
44 artifacts.add(new DefaultArtifact("g", "a1", "v", "compile", "jar", "", null));
45 artifacts.add(new DefaultArtifact("g", "a2", "v", "compile", "jar", "", null));
46 artifacts.add(new DefaultArtifact("g", "a3", "v", "compile", "jar", "", null));
47 artifacts.add(new DefaultArtifact("g", "a4", "v", "compile", "jar", "", null));
48
49 cache.put(project1, artifacts);
50
51 assertArrayEquals(
52 artifacts.toArray(new Artifact[0]),
53 cache.get(project1).getArtifacts().toArray(new Artifact[0]));
54
55 ProjectArtifactsCache.Key project2 = new ProjectArtifactsCache.Key() {};
56
57 Set<Artifact> reversedArtifacts = new LinkedHashSet<>(4);
58 artifacts.add(new DefaultArtifact("g", "a4", "v", "compile", "jar", "", null));
59 artifacts.add(new DefaultArtifact("g", "a3", "v", "compile", "jar", "", null));
60 artifacts.add(new DefaultArtifact("g", "a2", "v", "compile", "jar", "", null));
61 artifacts.add(new DefaultArtifact("g", "a1", "v", "compile", "jar", "", null));
62
63 cache.put(project2, reversedArtifacts);
64
65 assertArrayEquals(
66 reversedArtifacts.toArray(new Artifact[0]),
67 cache.get(project2).getArtifacts().toArray(new Artifact[0]));
68 }
69 }