package org.zend.sdk.test.sdkcli.update.parser; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.zend.sdkcli.update.parser.Version; public class TestVersion { @Test public void testValidVersion() { Version v = new Version("0.0.0"); assertEquals(0, v.getValue()); v = new Version("0.0.1"); assertEquals(1, v.getValue()); v = new Version("0.1.0"); assertEquals(256, v.getValue()); v = new Version("1.0.0"); assertEquals(65536, v.getValue()); v = new Version("1.1.1"); assertEquals(65793, v.getValue()); } @Test(expected = IllegalArgumentException.class) public void testInvalidVersion() { new Version("0.1"); } @Test(expected = IllegalArgumentException.class) public void testNullVersion() { new Version("0.1"); } @Test public void testEqual() { Version v1 = new Version("0.1.2"); Version v2 = new Version("0.1.2"); assertEquals(0, v1.compareTo(v2)); } @Test public void testGreaterMajor() { Version v1 = new Version("2.0.0"); Version v2 = new Version("1.4.3"); assertTrue(v1.compareTo(v2) > 0); } @Test public void testGreaterMinor() { Version v1 = new Version("1.5.0"); Version v2 = new Version("1.4.3"); assertTrue(v1.compareTo(v2) > 0); } @Test public void testGreaterBuild() { Version v1 = new Version("1.4.7"); Version v2 = new Version("1.4.2"); assertTrue(v1.compareTo(v2) > 0); } @Test public void testLessMajor() { Version v1 = new Version("0.4.3"); Version v2 = new Version("1.0.0"); assertTrue(v1.compareTo(v2) < 0); } @Test public void testLessMinor() { Version v1 = new Version("1.4.3"); Version v2 = new Version("1.5.0"); assertTrue(v1.compareTo(v2) < 0); } @Test public void testLessBuild() { Version v1 = new Version("1.4.2"); Version v2 = new Version("1.4.7"); assertTrue(v1.compareTo(v2) < 0); } @Test(expected = IllegalArgumentException.class) public void testNegativePart() { new Version("1.-4.2"); } }