1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.owasp.dependencycheck.utils;
19
20 import java.util.Arrays;
21 import java.util.Iterator;
22 import java.util.List;
23 import static org.junit.Assert.assertArrayEquals;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertTrue;
26 import org.junit.Test;
27 import org.owasp.dependencycheck.BaseTest;
28
29
30
31
32
33 public class DependencyVersionTest extends BaseTest {
34
35
36
37
38 @Test
39 public void testParseVersion() {
40 String version = "1.2r1";
41 DependencyVersion instance = new DependencyVersion();
42 instance.parseVersion(version);
43 List<String> parts = instance.getVersionParts();
44 assertEquals(3, parts.size());
45 assertEquals("1", parts.get(0));
46 assertEquals("2", parts.get(1));
47 assertEquals("r1", parts.get(2));
48
49 instance.parseVersion("x6.0");
50 parts = instance.getVersionParts();
51 assertEquals(2, parts.size());
52 assertEquals("x6", parts.get(0));
53 assertEquals("0", parts.get(1));
54
55
56
57 }
58
59
60
61
62 @Test
63 public void testIterator() {
64 DependencyVersion instance = new DependencyVersion("1.2.3");
65 Iterator<String> result = instance.iterator();
66 assertTrue(result.hasNext());
67 int count = 1;
68 while (result.hasNext()) {
69 String v = result.next();
70 assertTrue(String.valueOf(count++).equals(v));
71 }
72 }
73
74
75
76
77 @Test
78 public void testToString() {
79 DependencyVersion instance = new DependencyVersion("1.2.3r1");
80 String expResult = "1.2.3.r1";
81 String result = instance.toString();
82 assertEquals(expResult, result);
83 }
84
85
86
87
88 @Test
89 public void testEquals() {
90 DependencyVersion obj = new DependencyVersion("1.2.3.r1");
91 DependencyVersion instance = new DependencyVersion("1.2.3");
92 boolean expResult = false;
93 boolean result = instance.equals(obj);
94 assertEquals(expResult, result);
95 obj = new DependencyVersion("1.2.3");
96 expResult = true;
97 result = instance.equals(obj);
98 assertEquals(expResult, result);
99 }
100
101
102
103
104 @Test
105 public void testHashCode() {
106 DependencyVersion instance = new DependencyVersion("3.2.1");
107 int expResult = 80756;
108 int result = instance.hashCode();
109 assertEquals(expResult, result);
110 }
111
112
113
114
115 @Test
116 public void testMatchesAtLeastThreeLevels() {
117
118 DependencyVersion instance = new DependencyVersion("2.3.16.3");
119 DependencyVersion version = new DependencyVersion("2.3.16.4");
120
121 assertEquals(true, instance.matchesAtLeastThreeLevels(version));
122 version = new DependencyVersion("2.3");
123 assertEquals(true, instance.matchesAtLeastThreeLevels(version));
124
125 version = new DependencyVersion("2.3.16.1");
126 assertEquals(false, instance.matchesAtLeastThreeLevels(version));
127 version = new DependencyVersion("2");
128 assertEquals(false, instance.matchesAtLeastThreeLevels(version));
129 }
130
131
132
133
134 @Test
135 public void testCompareTo() {
136 DependencyVersion instance = new DependencyVersion("1.2.3");
137 DependencyVersion version = new DependencyVersion("1.2.3");
138 assertEquals(0, instance.compareTo(version));
139 version = new DependencyVersion("1.1");
140 assertEquals(1, instance.compareTo(version));
141 version = new DependencyVersion("1.2");
142 assertEquals(1, instance.compareTo(version));
143 version = new DependencyVersion("1.3");
144 assertEquals(-1, instance.compareTo(version));
145 version = new DependencyVersion("1.2.3.1");
146 assertEquals(-1, instance.compareTo(version));
147
148 instance = new DependencyVersion("1.0.1n");
149 version = new DependencyVersion("1.0.1m");
150 assertEquals(1, instance.compareTo(version));
151 version = new DependencyVersion("1.0.1n");
152 assertEquals(0, instance.compareTo(version));
153 version = new DependencyVersion("1.0.1o");
154 assertEquals(-1, instance.compareTo(version));
155
156 DependencyVersion[] dv = new DependencyVersion[7];
157 dv[0] = new DependencyVersion("2.1.3");
158 dv[1] = new DependencyVersion("2.1.3.r2");
159 dv[2] = new DependencyVersion("2.1.3.r1");
160 dv[3] = new DependencyVersion("1.2.3.1");
161 dv[4] = new DependencyVersion("1.2.3");
162 dv[5] = new DependencyVersion("2");
163 dv[6] = new DependencyVersion("-");
164
165 DependencyVersion[] expected = new DependencyVersion[7];
166 expected[0] = new DependencyVersion("-");
167 expected[1] = new DependencyVersion("1.2.3");
168 expected[2] = new DependencyVersion("1.2.3.1");
169 expected[3] = new DependencyVersion("2");
170 expected[4] = new DependencyVersion("2.1.3");
171 expected[5] = new DependencyVersion("2.1.3.r1");
172 expected[6] = new DependencyVersion("2.1.3.r2");
173 java.util.Arrays.sort(dv);
174
175 assertArrayEquals(expected, dv);
176 }
177
178
179
180
181 @Test
182 public void testGetVersionParts() {
183 DependencyVersion instance = new DependencyVersion();
184 List<String> versionParts = Arrays.asList("1", "1", "1");
185 instance.setVersionParts(versionParts);
186 List<String> expResult = Arrays.asList("1", "1", "1");
187 List<String> result = instance.getVersionParts();
188 assertEquals(expResult, result);
189 }
190
191
192
193
194 @Test
195 public void testSetVersionParts() {
196 List<String> versionParts = Arrays.asList("1", "1", "1");
197 DependencyVersion instance = new DependencyVersion();
198 instance.setVersionParts(versionParts);
199 }
200 }