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,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.maven.plugins.gpg;
20  
21  import org.junit.jupiter.api.Test;
22  
23  import static org.junit.jupiter.api.Assertions.assertEquals;
24  import static org.junit.jupiter.api.Assertions.assertFalse;
25  import static org.junit.jupiter.api.Assertions.assertNotEquals;
26  import static org.junit.jupiter.api.Assertions.assertTrue;
27  
28  /**
29   * Tests for {@link GpgVersion}.
30   */
31  class GpgVersionTest {
32      @Test
33      void test() {
34          assertTrue(GpgVersion.parse("gpg (GnuPG) 2.2.1").isAtLeast(GpgVersion.parse("gpg (GnuPG) 2.2.1")));
35          assertTrue(GpgVersion.parse("gpg (GnuPG) 2.2.1").isAtLeast(GpgVersion.parse("2.1")));
36          assertTrue(GpgVersion.parse("gpg (GnuPG/MacGPG2) 2.2.10").isAtLeast(GpgVersion.parse("2.2.10")));
37          assertTrue(GpgVersion.parse("gpg (GnuPG) 2.0.26 (Gpg4win 2.2.3)").isAtLeast(GpgVersion.parse("2.0.26")));
38      }
39  
40      @Test
41      void testOpposite() {
42          assertFalse(GpgVersion.parse("gpg (GnuPG) 2.2.1").isBefore(GpgVersion.parse("gpg (GnuPG) 2.2.1")));
43          assertFalse(GpgVersion.parse("gpg (GnuPG) 2.2.1").isBefore(GpgVersion.parse("2.1")));
44          assertFalse(GpgVersion.parse("gpg (GnuPG/MacGPG2) 2.2.10").isBefore(GpgVersion.parse("2.2.10")));
45          assertFalse(GpgVersion.parse("gpg (GnuPG) 2.0.26 (Gpg4win 2.2.3)").isBefore(GpgVersion.parse("2.0.26")));
46      }
47  
48      @Test
49      void testEquality() {
50          assertEquals(GpgVersion.parse("gpg (GnuPG) 2.2.1"), GpgVersion.parse("gpg (GnuPG) 2.2.1"));
51          assertEquals(GpgVersion.parse("gpg (GnuPG) 2.2.1"), GpgVersion.parse("2.2.1"));
52          assertEquals(GpgVersion.parse("gpg (GnuPG/MacGPG2) 2.2.10"), GpgVersion.parse("2.2.10"));
53          assertEquals(GpgVersion.parse("gpg (GnuPG) 2.0.26 (Gpg4win 2.2.3)"), GpgVersion.parse("2.0.26"));
54  
55          assertEquals(
56                  GpgVersion.parse("gpg (GnuPG) 2.2.1").hashCode(),
57                  GpgVersion.parse("gpg (GnuPG) 2.2.1").hashCode());
58          assertEquals(
59                  GpgVersion.parse("gpg (GnuPG) 2.2.1").hashCode(),
60                  GpgVersion.parse("2.2.1").hashCode());
61          assertEquals(
62                  GpgVersion.parse("gpg (GnuPG/MacGPG2) 2.2.10").hashCode(),
63                  GpgVersion.parse("2.2.10").hashCode());
64          assertEquals(
65                  GpgVersion.parse("gpg (GnuPG) 2.0.26 (Gpg4win 2.2.3)").hashCode(),
66                  GpgVersion.parse("2.0.26").hashCode());
67  
68          assertNotEquals(GpgVersion.parse("gpg (GnuPG) 2.2.1"), GpgVersion.parse("2.2.0"));
69          assertNotEquals(GpgVersion.parse("gpg (GnuPG) 2.2.1"), GpgVersion.parse("2.2"));
70  
71          assertNotEquals(
72                  GpgVersion.parse("gpg (GnuPG) 2.2.1").hashCode(),
73                  GpgVersion.parse("2.2.0").hashCode());
74          assertNotEquals(
75                  GpgVersion.parse("gpg (GnuPG) 2.2.1").hashCode(),
76                  GpgVersion.parse("2.2").hashCode());
77      }
78  }