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