2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.yangtools.concepts;
10 import static org.junit.jupiter.api.Assertions.assertEquals;
11 import static org.junit.jupiter.api.Assertions.assertFalse;
12 import static org.junit.jupiter.api.Assertions.assertNotNull;
13 import static org.junit.jupiter.api.Assertions.assertTrue;
15 import org.junit.jupiter.api.Test;
17 public class SemVerTest {
19 public void testSemVer() {
20 final SemVer semVer = SemVer.create(5);
21 assertNotNull(semVer);
23 assertEquals(5, semVer.getMajor());
24 assertEquals(0, semVer.getMinor());
25 assertEquals(0, semVer.getPatch());
27 final SemVer semVer2 = SemVer.valueOf("1.2.3");
28 assertNotNull(semVer2);
30 assertEquals(1, semVer2.getMajor());
31 assertEquals(2, semVer2.getMinor());
32 assertEquals(3, semVer2.getPatch());
34 final SemVer semVer3 = SemVer.valueOf("1");
35 assertNotNull(semVer3);
37 assertEquals(1, semVer3.getMajor());
38 assertEquals(0, semVer3.getMinor());
39 assertEquals(0, semVer3.getPatch());
41 final SemVer semVer4 = SemVer.valueOf("1.2");
42 assertNotNull(semVer4);
44 assertEquals(1, semVer4.getMajor());
45 assertEquals(2, semVer4.getMinor());
46 assertEquals(0, semVer4.getPatch());
48 assertEquals(1, semVer2.compareTo(semVer3));
49 assertEquals(-1, semVer3.compareTo(semVer2));
50 assertEquals(0, semVer2.compareTo(semVer2));
52 assertTrue(semVer2.equals(semVer2));
53 assertFalse(semVer2.equals("not equal"));
54 assertFalse(semVer2.equals(semVer3));
56 assertEquals(semVer2.hashCode(), semVer2.hashCode());
58 assertEquals("1.0.0", semVer3.toString());