2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.mso.db.catalog.test;
24 import static org.junit.Assert.*;
26 import java.util.Collections;
27 import java.util.LinkedList;
28 import java.util.List;
30 import org.junit.Test;
32 import org.openecomp.mso.db.catalog.utils.MavenLikeVersioningComparator;
33 import org.openecomp.mso.db.catalog.utils.MavenLikeVersioning;
36 public class MavenVersioningTest {
39 public final void testVersion () {
40 MavenLikeVersioning mavenVersioning = new MavenLikeVersioning ();
41 assertFalse(mavenVersioning.isMoreRecentThan("0.0.0"));
42 assertFalse(mavenVersioning.isMoreRecentThan(null));
43 mavenVersioning.setVersion("0.0.1");
45 assertFalse(mavenVersioning.isMoreRecentThan(null));
46 assertTrue(mavenVersioning.isMoreRecentThan("0.0.0"));
47 assertTrue(mavenVersioning.isMoreRecentThan("0.0.0.1"));
49 assertFalse(mavenVersioning.isMoreRecentThan("0.0.2"));
50 assertFalse(mavenVersioning.isMoreRecentThan("0.0.1"));
51 assertFalse(mavenVersioning.isMoreRecentThan("00.00.01"));
53 assertFalse(mavenVersioning.isMoreRecentThan("0.1"));
54 assertFalse(mavenVersioning.isMoreRecentThan("1"));
55 assertFalse(mavenVersioning.isMoreRecentThan("0.1.0.2"));
57 assertFalse(mavenVersioning.isMoreRecentThan("0.1.1"));
58 assertFalse(mavenVersioning.isMoreRecentThan("2.1.1"));
60 mavenVersioning.setVersion("1.0.1");
61 assertTrue(mavenVersioning.isMoreRecentThan("0.0.0"));
62 assertTrue(mavenVersioning.isMoreRecentThan("0.5.2"));
63 assertTrue(mavenVersioning.isMoreRecentThan("1.0.0"));
65 assertFalse(mavenVersioning.isMoreRecentThan("2.1.1"));
66 assertFalse(mavenVersioning.isMoreRecentThan("02.001.0001"));
67 assertFalse(mavenVersioning.isMoreRecentThan("1.0.1"));
68 assertFalse(mavenVersioning.isMoreRecentThan("1.0.2"));
69 assertFalse(mavenVersioning.isMoreRecentThan("1.1.1"));
70 assertFalse(mavenVersioning.isMoreRecentThan("1.0.10"));
73 mavenVersioning.setVersion("100.0.1");
74 assertTrue(mavenVersioning.isMoreRecentThan("0.0.0"));
75 assertTrue(mavenVersioning.isMoreRecentThan("0.5.2"));
76 assertTrue(mavenVersioning.isMoreRecentThan("1.0.0"));
78 assertFalse(mavenVersioning.isMoreRecentThan("101.1.1"));
79 assertFalse(mavenVersioning.isMoreRecentThan("100.0.1"));
80 assertFalse(mavenVersioning.isMoreRecentThan("100.0.2"));
81 assertFalse(mavenVersioning.isMoreRecentThan("100.1.1"));
83 assertFalse(mavenVersioning.isMoreRecentThan("100.0.1.4"));
87 public final void testOneDigitVersion() {
88 MavenLikeVersioning oneDigit = new MavenLikeVersioning();
89 oneDigit.setVersion("1");
90 assertFalse(oneDigit.isMoreRecentThan("2"));
91 assertFalse(oneDigit.isMoreRecentThan("2.0"));
92 assertFalse(oneDigit.isMoreRecentThan("1.0"));
94 oneDigit.setVersion("1.0");
95 assertTrue(oneDigit.isMoreRecentThan("1"));
97 oneDigit.setVersion("1");
98 assertFalse(oneDigit.isTheSameVersion("1.1"));
99 assertFalse(oneDigit.isTheSameVersion("1.0"));
100 assertFalse(oneDigit.isTheSameVersion("1.0.0"));
102 oneDigit.setVersion("2");
103 assertTrue(oneDigit.isMoreRecentThan("1"));
104 assertTrue(oneDigit.isMoreRecentThan("1.0"));
105 assertTrue(oneDigit.isMoreRecentThan("1.1"));
106 assertTrue(oneDigit.isMoreRecentThan("0.1"));
107 assertFalse(oneDigit.isMoreRecentThan("2.0"));
112 public final void testVersionEquals () {
114 MavenLikeVersioning heatTemplate = new MavenLikeVersioning();
115 assertFalse(heatTemplate.isTheSameVersion("100.0"));
116 assertTrue(heatTemplate.isTheSameVersion(null));
117 heatTemplate.setVersion("100.0.1");
118 assertFalse(heatTemplate.isTheSameVersion(null));
119 assertFalse(heatTemplate.isTheSameVersion("100.0"));
120 assertFalse(heatTemplate.isTheSameVersion("100"));
121 assertFalse(heatTemplate.isTheSameVersion("100.0.1.1"));
122 assertTrue(heatTemplate.isTheSameVersion("100.0.1"));
123 assertTrue(heatTemplate.isTheSameVersion("00100.000.0001"));
124 assertFalse(heatTemplate.isTheSameVersion("0.0.1"));
125 assertTrue(heatTemplate.isTheSameVersion("100.0.01"));
130 public final void testListSort () {
131 MavenLikeVersioning test1 = new MavenLikeVersioning();
132 test1.setVersion("1.1");
133 MavenLikeVersioning test2 = new MavenLikeVersioning();
134 test2.setVersion("1.10");
135 MavenLikeVersioning test3 = new MavenLikeVersioning();
136 test3.setVersion("1.2");
137 MavenLikeVersioning test4 = new MavenLikeVersioning();
138 test4.setVersion("1.20");
139 MavenLikeVersioning test5 = new MavenLikeVersioning();
140 test5.setVersion("1.02");
141 MavenLikeVersioning test6 = new MavenLikeVersioning();
142 test6.setVersion("2.02");
143 MavenLikeVersioning test7 = new MavenLikeVersioning();
144 test7.setVersion("0.02");
145 MavenLikeVersioning test8 = new MavenLikeVersioning();
146 test8.setVersion("2.02");
147 MavenLikeVersioning test9 = new MavenLikeVersioning();
148 test9.setVersion("10.2004");
149 MavenLikeVersioning test10 = new MavenLikeVersioning();
150 test10.setVersion("2");
151 MavenLikeVersioning test11 = new MavenLikeVersioning();
152 test11.setVersion("12");
153 MavenLikeVersioning test12 = new MavenLikeVersioning();
154 test12.setVersion("2.0");
156 List<MavenLikeVersioning> list= new LinkedList<MavenLikeVersioning>();
170 Collections.sort(list,new MavenLikeVersioningComparator());
171 //Collections.reverse(list);
172 assertTrue(list.get(0).getVersion().equals("0.02"));
173 assertTrue(list.get(1).getVersion().equals("1.1"));
174 assertTrue(list.get(2).getVersion().equals("1.02") || list.get(3).getVersion().equals("1.02"));
175 assertTrue(list.get(3).getVersion().equals("1.2") || list.get(2).getVersion().equals("1.2"));
176 assertTrue(list.get(4).getVersion().equals("1.10"));
177 assertTrue(list.get(5).getVersion().equals("1.20"));
178 assertTrue(list.get(6).getVersion().equals("2"));
179 assertTrue(list.get(7).getVersion().equals("2.0"));
180 assertTrue(list.get(8).getVersion().equals("2.02"));
181 assertTrue(list.get(9).getVersion().equals("2.02"));
182 assertTrue(list.get(10).getVersion().equals("10.2004"));
183 assertTrue(list.get(11).getVersion().equals("12"));