View Javadoc

1   /**
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  package org.apache.hadoop.hbase.util;
19  
20  import org.apache.hadoop.hbase.testclassification.SmallTests;
21  import static org.junit.Assert.assertTrue;
22  import org.junit.Test;
23  import org.junit.experimental.categories.Category;
24  
25  @Category(SmallTests.class)
26  public class TestVersionInfo {
27  
28    @Test
29    public void testCompareVersion() {
30      assertTrue(VersionInfo.compareVersion("1.0.0", "0.98.11") > 0);
31      assertTrue(VersionInfo.compareVersion("0.98.11", "1.0.1") < 0);
32      assertTrue(VersionInfo.compareVersion("2.0.0", "1.4.0") > 0);
33      assertTrue(VersionInfo.compareVersion("2.0.0", "2.0.0-SNAPSHOT") > 0);
34      assertTrue(VersionInfo.compareVersion("0.94.6.1", "0.96.1.1") < 0);
35      assertTrue(VersionInfo.compareVersion("0.96.1.1", "0.98.6.1") < 0);
36      assertTrue(VersionInfo.compareVersion("0.98.6.1", "0.98.10.1") < 0);
37      assertTrue(VersionInfo.compareVersion("0.98.10.1", "0.98.12.1") < 0);
38      assertTrue(VersionInfo.compareVersion("0.98.12.1", "0.98.16.1") < 0);
39      assertTrue(VersionInfo.compareVersion("0.98.16.1", "1.0.1.1") < 0);
40      assertTrue(VersionInfo.compareVersion("1.0.1.1", "1.1.0.1") < 0);
41      assertTrue(VersionInfo.compareVersion("2.0..1", "2.0.0") > 0);
42      assertTrue(VersionInfo.compareVersion("2.0.0", "2.0.0") == 0);
43      assertTrue(VersionInfo.compareVersion("1.99.14", "2.0.0-alpha-1") < 0);
44      assertTrue(VersionInfo.compareVersion("2.0.0-alpha-1", "2.0.0-beta-3") < 0);
45      assertTrue(VersionInfo.compareVersion("2.0.0-beta-3", "2.0.0-SNAPSHOT") < 0);
46      assertTrue(VersionInfo.compareVersion("2.0.0-SNAPSHOT", "2.0") < 0);
47      assertTrue(VersionInfo.compareVersion("2.0", "2.0.0.1") < 0);
48      assertTrue(VersionInfo.compareVersion("2.0.0.1", "2.0.1") < 0);
49      assertTrue(VersionInfo.compareVersion("3.0.0-alpha-2", "3.0.0-alpha-11") < 0);
50      assertTrue(VersionInfo.compareVersion("3.0.0-beta-2", "3.0.0-beta-11") < 0);
51      assertTrue(VersionInfo.compareVersion("2.0.0-foobar", "2.0.0.1") < 0);
52      assertTrue(VersionInfo.compareVersion("2.any.any", "2.0.0") < 0);
53      assertTrue(VersionInfo.compareVersion("2.0.0", "2.any.any") > 0);
54      assertTrue(VersionInfo.compareVersion("2.any.any", "2.0.0-alpha-1") < 0);
55      assertTrue(VersionInfo.compareVersion("2.0.0-alpha-1", "2.any.any") > 0);
56      assertTrue(VersionInfo.compareVersion("2.any.any", "2.0.0-beta-5-SNAPSHOT") < 0);
57      assertTrue(VersionInfo.compareVersion("2.0.0-beta-5-SNAPSHOT", "2.any.any") > 0);
58      assertTrue(VersionInfo.compareVersion("2.any.any", "1.4.4") > 0);
59      assertTrue(VersionInfo.compareVersion("1.4.4", "2.any.any") < 0);
60    }
61  }