16
16
17
17
package org .jfrog .build .api ;
18
18
19
+ import org .apache .commons .lang .ArrayUtils ;
19
20
import org .jfrog .build .api .util .CommonUtils ;
20
- import org .testng .Assert ;
21
21
import org .testng .annotations .Test ;
22
22
23
- import java .util .*;
23
+ import java .util .HashMap ;
24
+ import java .util .Properties ;
25
+ import java .util .Set ;
24
26
25
- import static org .testng .Assert .assertEquals ;
26
- import static org .testng .Assert .assertNull ;
27
+ import static org .testng .Assert .*;
27
28
28
29
/**
29
30
* Tests the behavior of the dependency class
@@ -58,7 +59,7 @@ public void testSetters() {
58
59
String sha1 = "pop" ;
59
60
String sha256 = "lol" ;
60
61
String md5 = "shmop" ;
61
- List < String > requiredBy = Collections . singletonList ( "pitzi" ) ;
62
+ String [][] requiredBy = new String [][]{{ "pitzi" }} ;
62
63
63
64
Dependency dependency = new Dependency ();
64
65
dependency .setId (id );
@@ -78,6 +79,33 @@ public void testSetters() {
78
79
assertEquals (dependency .getRequiredBy (), requiredBy , "Unexpected dependency required by." );
79
80
}
80
81
82
+ public void testAddRequiredBy () {
83
+ // Create a dependency
84
+ Dependency dependency = new Dependency ();
85
+ assertTrue (ArrayUtils .isEmpty (dependency .getRequiredBy ()));
86
+
87
+ // Add required by A
88
+ String [] parentA = new String []{"a" , "b" , "c" };
89
+ dependency .addRequiredBy (parentA );
90
+ assertEquals (ArrayUtils .getLength (dependency .getRequiredBy ()), 1 );
91
+ assertEquals (dependency .getRequiredBy ()[0 ], parentA );
92
+
93
+ // Add required by B
94
+ String [] parentB = new String []{"b" , "c" , "d" , "e" };
95
+ dependency .addRequiredBy (parentB );
96
+ assertEquals (ArrayUtils .getLength (dependency .getRequiredBy ()), 2 );
97
+ assertEquals (dependency .getRequiredBy ()[0 ], parentA );
98
+ assertEquals (dependency .getRequiredBy ()[1 ], parentB );
99
+
100
+ // Add required by C
101
+ String [] parentC = new String []{"c" , "d" };
102
+ dependency .addRequiredBy (parentC );
103
+ assertEquals (ArrayUtils .getLength (dependency .getRequiredBy ()), 3 );
104
+ assertEquals (dependency .getRequiredBy ()[0 ], parentA );
105
+ assertEquals (dependency .getRequiredBy ()[1 ], parentB );
106
+ assertEquals (dependency .getRequiredBy ()[2 ], parentC );
107
+ }
108
+
81
109
public void testEqualsAndHash () {
82
110
//Properties are not included in equals\hash
83
111
Properties properties = new Properties ();
@@ -88,7 +116,7 @@ public void testEqualsAndHash() {
88
116
dependency1 .setSha1 ("111" );
89
117
dependency1 .setSha256 ("11111" );
90
118
dependency1 .setMd5 ("1111" );
91
- dependency1 .setRequiredBy (Collections . singletonList ( "11111" ) );
119
+ dependency1 .setRequiredBy (new String [][]{{ "11111" }} );
92
120
dependency1 .setScopes (CommonUtils .newHashSet ("1" , "11" ));
93
121
dependency1 .setProperties (properties );
94
122
@@ -98,7 +126,7 @@ public void testEqualsAndHash() {
98
126
dependency2 .setSha1 ("111" );
99
127
dependency2 .setSha256 ("11111" );
100
128
dependency2 .setMd5 ("1111" );
101
- dependency2 .setRequiredBy (Collections . singletonList ( "11111" ) );
129
+ dependency2 .setRequiredBy (new String [][]{{ "11111" }} );
102
130
dependency2 .setScopes (CommonUtils .newHashSet ("1" , "11" ));
103
131
dependency2 .setProperties (properties );
104
132
@@ -108,21 +136,21 @@ public void testEqualsAndHash() {
108
136
dependency3 .setSha1 ("333" );
109
137
dependency3 .setSha256 ("33333" );
110
138
dependency3 .setMd5 ("3333" );
111
- dependency3 .setRequiredBy (Collections . singletonList ( "33333" ) );
139
+ dependency3 .setRequiredBy (new String [][]{{ "33333" }} );
112
140
dependency3 .setScopes (CommonUtils .newHashSet ("333333" , "3333333" ));
113
141
dependency3 .setProperties (properties );
114
142
115
- Assert . assertEquals (dependency1 , dependency2 , "Expected equals == true for equivalent artifacts" );
116
- Assert . assertTrue (! dependency1 . equals ( dependency3 ) , "Expected equals == false for non-equivalent artifacts" );
143
+ assertEquals (dependency1 , dependency2 , "Expected equals == true for equivalent artifacts" );
144
+ assertNotEquals ( dependency3 , dependency1 , "Expected equals == false for non-equivalent artifacts" );
117
145
118
146
HashMap <Dependency , String > testMap = new HashMap <>();
119
147
testMap .put (dependency1 , "1" );
120
148
testMap .put (dependency2 , "2" );
121
- Assert . assertEquals (testMap .size (), 1 , "Expected same hashcode for equal artifacts" );
122
- Assert . assertEquals (testMap .values ().iterator ().next (), "2" , "Expected insertion of equivalent artifact to" +
149
+ assertEquals (testMap .size (), 1 , "Expected same hashcode for equal artifacts" );
150
+ assertEquals (testMap .values ().iterator ().next (), "2" , "Expected insertion of equivalent artifact to" +
123
151
" map to replace old one" );
124
152
125
153
testMap .put (dependency3 , "3" );
126
- Assert . assertEquals (testMap .size (), 2 , "Expected artifact to not overwrite existing non-equivalent artifact" );
154
+ assertEquals (testMap .size (), 2 , "Expected artifact to not overwrite existing non-equivalent artifact" );
127
155
}
128
156
}
0 commit comments