2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2020 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END============================================
20 * ===================================================================
24 package org.onap.clamp.util;
26 import org.junit.Test;
28 import static org.assertj.core.api.Assertions.assertThat;
30 public class SemanticVersioningTest {
33 public void compareTest() {
34 assertThat(SemanticVersioning.compare("1.0.0", "2.0.0")).isEqualTo(-1);
35 assertThat(SemanticVersioning.compare("1.5.0", "2.0.0")).isEqualTo(-1);
36 assertThat(SemanticVersioning.compare("1.5.0", "2.1.0")).isEqualTo(-1);
37 assertThat(SemanticVersioning.compare("1.5.3", "2.0.0")).isEqualTo(-1);
38 assertThat(SemanticVersioning.compare("2.5.3", "2.6.0")).isEqualTo(-1);
39 assertThat(SemanticVersioning.compare("2.5", "2.5.1")).isEqualTo(-1);
40 assertThat(SemanticVersioning.compare("2.5.0", "2.5.1")).isEqualTo(-1);
41 assertThat(SemanticVersioning.compare("2.5.0.0", "2.5.1")).isEqualTo(-1);
42 assertThat(SemanticVersioning.compare("2.5.1.0", "2.5.1")).isEqualTo(1);
44 assertThat(SemanticVersioning.compare("2.0.0", "1.0.0")).isEqualTo(1);
45 assertThat(SemanticVersioning.compare("2.0.0", "1.5.0")).isEqualTo(1);
46 assertThat(SemanticVersioning.compare("2.1.0", "1.5.0")).isEqualTo(1);
47 assertThat(SemanticVersioning.compare("2.0.0", "1.5.3")).isEqualTo(1);
48 assertThat(SemanticVersioning.compare("2.6.0", "2.5.3")).isEqualTo(1);
49 assertThat(SemanticVersioning.compare("2.5.1", "2.5")).isEqualTo(1);
50 assertThat(SemanticVersioning.compare("2.5.1", "2.5.0")).isEqualTo(1);
51 assertThat(SemanticVersioning.compare("2.5.1", "2.5.0.0")).isEqualTo(1);
52 assertThat(SemanticVersioning.compare("1", "1.2.3.0")).isEqualTo(-1);
53 assertThat(SemanticVersioning.compare("1.2", "1")).isEqualTo(1);
57 public void compareEqualsTest() {
58 assertThat(SemanticVersioning.compare("1.0.0", "1.0.0")).isEqualTo(0);
59 assertThat(SemanticVersioning.compare("1.0.0.0", "1.0.0")).isEqualTo(1);
60 assertThat(SemanticVersioning.compare("1.2.3", "1.2.3")).isEqualTo(0);
61 assertThat(SemanticVersioning.compare("1.2.3", "1.2.3.0")).isEqualTo(-1);
66 public void compareNullTest() {
67 assertThat(SemanticVersioning.compare(null, null)).isEqualTo(0);
68 assertThat(SemanticVersioning.compare(null, "1.0")).isEqualTo(-1);
69 assertThat(SemanticVersioning.compare("1.0", null)).isEqualTo(1);
73 public void incrementVersionTest() {
74 assertThat(SemanticVersioning.incrementMajorVersion("1.0")).isEqualTo("2.0.0");
75 assertThat(SemanticVersioning.incrementMajorVersion("1.0.0")).isEqualTo("2.0.0");
76 assertThat(SemanticVersioning.incrementMajorVersion("1")).isEqualTo("2.0.0");
77 assertThat(SemanticVersioning.incrementMajorVersion("1.2.3")).isEqualTo("2.0.0");