Added oparent to sdc main
[sdc.git] / asdctool / src / test / java / org / openecomp / sdc / asdctool / migration / core / DBVersionTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2019 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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.asdctool.migration.core;
22
23 import org.testng.annotations.DataProvider;
24 import org.testng.annotations.Test;
25
26 import static org.testng.Assert.assertEquals;
27
28 public class DBVersionTest {
29
30
31     @DataProvider(name = "invalidVersionStringsProvider")
32     private Object[][] invalidVersionStringsProvider() {
33         return new Object[][] {
34                 {"1.1.1"},
35                 {"1.a"},
36                 {"a.1"},
37                 {"1"}
38         };
39     }
40
41     @Test(dataProvider = "invalidVersionStringsProvider", expectedExceptions = MigrationException.class)
42     public void testFromString_invalidVersionString(String invalidVersion) {
43         DBVersion.fromString(invalidVersion);
44     }
45
46     @DataProvider(name = "validVersionStringsProvider")
47     private Object[][] validVersionStringsProvider() {
48         return new Object[][] {
49                 {"1.1", "1.1"},
50                 {"10100.0001", "10100.1"},
51                 {"000.1", "0.1"},
52                 {"01.00001000", "1.1000"},
53         };
54     }
55
56     @Test(dataProvider = "validVersionStringsProvider")
57     public void testFromString(String validString, String expectedVersionString) {
58         assertEquals(expectedVersionString, DBVersion.fromString(validString).toString());
59     }
60
61     @DataProvider(name = "versionComparisionProvider")
62     public static Object[][] versionComparisionProvider() {
63         return new Object[][] {
64                 {"1.1", "001.00001", 0},
65                 {"10.1", "0010.00001", 0},
66                 {"1.1", "001.000010", -1},
67                 {"1.1", "0010.00001", -1},
68                 {"10.10", "0010.00001", 1},
69                 {"1.1", "001.00", 1},
70         };
71     }
72
73     @Test(dataProvider = "versionComparisionProvider")
74     public void testVersionCompareTo2(String firstVersion, String otherVersion, int expectedComparisionResult) {
75         assertEquals(DBVersion.fromString(firstVersion).compareTo(DBVersion.fromString(otherVersion)), expectedComparisionResult);
76     }
77 }