package scala_maven; import scala_maven.VersionNumber; import junit.framework.TestCase; public class VersionNumberTest extends TestCase { public void testCompare() throws Exception { assertEquals(1, new VersionNumber("2.7.1").compareTo(new VersionNumber("1.0"))); assertEquals(1, new VersionNumber("2.7.1").compareTo(new VersionNumber("1.9"))); assertEquals(1, new VersionNumber("2.7.1").compareTo(new VersionNumber("2.0"))); assertEquals(1, new VersionNumber("2.7.1").compareTo(new VersionNumber("2.7"))); assertEquals(1, new VersionNumber("2.7.1").compareTo(new VersionNumber("2.7-rc"))); assertEquals(1, new VersionNumber("2.7.1").compareTo(new VersionNumber("2.7.0"))); assertEquals(0, new VersionNumber("2.7.1").compareTo(new VersionNumber("2.7.1"))); assertEquals(-1, new VersionNumber("2.7.1").compareTo(new VersionNumber("2.7.2-rc1"))); assertEquals(-1, new VersionNumber("2.7.1").compareTo(new VersionNumber("2.8"))); assertEquals(-1, new VersionNumber("2.7.1").compareTo(new VersionNumber("3.0"))); } public void testParse() throws Exception { assertParseVN("2.7.1", 2, 7, 1, null); assertParseVN("2.7", 2, 7, 0, null); assertParseVN("2.7.1.RC", 2, 7, 1, ".RC"); assertParseVN("2.7.1.RC", 2, 7, 1, ".RC"); assertParseVN("2.7.RC", 2, 7, 0, ".RC"); assertParseVN("2.7-RC", 2, 7, 0, "-RC"); assertParseVN("2.7.1-SNAPSHOT", 2, 7, 1, "-SNAPSHOT"); } private void assertParseVN(String str, int major, int minor, int bugfix, String modifier) { VersionNumber v = new VersionNumber(str); assertEquals("test major of " + str, major, v.major); assertEquals("test minor of " + str, minor, v.minor); assertEquals("test bugfix of " + str, bugfix, v.bugfix); assertEquals("test modifier of " + str, modifier, v.modifier); } public void testCompareMask() throws Exception { assertEquals(1, new VersionNumberMask("2.7").compareTo(new VersionNumber("1.0"))); assertEquals(1, new VersionNumberMask("2.7").compareTo(new VersionNumber("1.9"))); assertEquals(1, new VersionNumberMask("2.7").compareTo(new VersionNumber("2.0"))); assertEquals(0, new VersionNumberMask("2.7").compareTo(new VersionNumber("2.7"))); assertEquals(0, new VersionNumberMask("2.7").compareTo(new VersionNumber("2.7-rc"))); assertEquals(0, new VersionNumberMask("2.7").compareTo(new VersionNumber("2.7.0"))); assertEquals(0, new VersionNumberMask("2.7").compareTo(new VersionNumber("2.7.1"))); assertEquals(0, new VersionNumberMask("2.7").compareTo(new VersionNumber("2.7.2-rc1"))); assertEquals(-1, new VersionNumberMask("2.7").compareTo(new VersionNumber("2.8"))); assertEquals(-1, new VersionNumberMask("2.7").compareTo(new VersionNumber("3.0"))); assertEquals(1, new VersionNumber("2.7-rc").compareTo(new VersionNumberMask("2.7"))); assertEquals(1, new VersionNumber("2.7.0").compareTo(new VersionNumberMask("2.7"))); assertEquals(1, new VersionNumber("2.7.1").compareTo(new VersionNumberMask("2.7"))); assertEquals(1, new VersionNumber("2.7.2-rc1").compareTo(new VersionNumberMask("2.7"))); } }