/* * Copyright (c) 2016 OBiBa. All rights reserved. * * This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.obiba.core.runtime; import org.junit.Assert; import org.junit.Test; import org.obiba.runtime.Version; public class VersionTest { @Test public void testParseMajorMinor() { Version v = new Version("1.2"); Assert.assertEquals(1, v.getMajor()); Assert.assertEquals(2, v.getMinor()); Assert.assertEquals(0, v.getMicro()); Assert.assertEquals("", v.getQualifier()); } @Test public void testParseMajorMinorAndQualifier() { Version v = new Version("1.0-SNAPSHOT"); Assert.assertEquals(1, v.getMajor()); Assert.assertEquals(0, v.getMinor()); Assert.assertEquals(0, v.getMicro()); Assert.assertEquals("SNAPSHOT", v.getQualifier()); } @Test public void testParseMajorMinorMicroAndQualifier() { Version v = new Version("1.2.3_b4"); Assert.assertEquals(1, v.getMajor()); Assert.assertEquals(2, v.getMinor()); Assert.assertEquals(3, v.getMicro()); Assert.assertEquals("b4", v.getQualifier()); } @Test public void testCompare() { Version v1 = new Version("1.2"); Version v2 = new Version("1.2.1"); Assert.assertTrue(v1.compareTo(v2) < 0); Assert.assertTrue(v2.compareTo(v1) > 0); } @Test public void testCompareWithQualifier() { Version v1 = new Version("1.2.1-b1"); Version v2 = new Version("1.2.1-b2"); Assert.assertTrue(v1.compareTo(v2) < 0); Assert.assertTrue(v2.compareTo(v1) > 0); } @Test public void testCompareWithQualifierAndNoQualifier() { Version v1 = new Version("1.2.1"); Version v2 = new Version("1.2.1-b1"); Assert.assertTrue(v1.compareTo(v2) < 0); Assert.assertTrue(v2.compareTo(v1) > 0); } @Test public void testEquals() { Version v1 = new Version("1.2"); Version v2 = new Version(1, 2); Assert.assertTrue(v1.equals(v2)); Assert.assertEquals(v1.hashCode(), v2.hashCode()); } @Test public void testEqualsWithQualifier() { Version v1 = new Version("1.2-b4"); Version v2 = new Version(1, 2, 0, "b4"); Assert.assertTrue(v1.equals(v2)); Assert.assertEquals(v1.hashCode(), v2.hashCode()); } }