[SDC] rebase 1710 code
[sdc.git] / asdctool / src / test / java / org / openecomp / sdc / asdctool / migration / core / DBVersionTest.java
1 package org.openecomp.sdc.asdctool.migration.core;
2
3 import org.testng.annotations.DataProvider;
4 import org.testng.annotations.Test;
5
6 import static org.testng.Assert.assertEquals;
7
8 public class DBVersionTest {
9
10
11     @DataProvider(name = "invalidVersionStringsProvider")
12     private Object[][] invalidVersionStringsProvider() {
13         return new Object[][] {
14                 {"1.1.1"},
15                 {"1.a"},
16                 {"a.1"},
17                 {"1"}
18         };
19     }
20
21     @Test(dataProvider = "invalidVersionStringsProvider", expectedExceptions = MigrationException.class)
22     public void testFromString_invalidVersionString(String invalidVersion) {
23         DBVersion.fromString(invalidVersion);
24     }
25
26     @DataProvider(name = "validVersionStringsProvider")
27     private Object[][] validVersionStringsProvider() {
28         return new Object[][] {
29                 {"1.1", "1.1"},
30                 {"10100.0001", "10100.1"},
31                 {"000.1", "0.1"},
32                 {"01.00001000", "1.1000"},
33         };
34     }
35
36     @Test(dataProvider = "validVersionStringsProvider")
37     public void testFromString(String validString, String expectedVersionString) {
38         assertEquals(expectedVersionString, DBVersion.fromString(validString).toString());
39     }
40
41     @DataProvider(name = "versionComparisionProvider")
42     public static Object[][] versionComparisionProvider() {
43         return new Object[][] {
44                 {"1.1", "001.00001", 0},
45                 {"10.1", "0010.00001", 0},
46                 {"1.1", "001.000010", -1},
47                 {"1.1", "0010.00001", -1},
48                 {"10.10", "0010.00001", 1},
49                 {"1.1", "001.00", 1},
50         };
51     }
52
53     @Test(dataProvider = "versionComparisionProvider")
54     public void testVersionCompareTo2(String firstVersion, String otherVersion, int expectedComparisionResult) throws Exception {
55         assertEquals(DBVersion.fromString(firstVersion).compareTo(DBVersion.fromString(otherVersion)), expectedComparisionResult);
56     }
57 }