/* * Rapid Beans Framework: VersionTest.java * * Copyright Martin Bluemel, 2008 * * Dec 7, 2008 */ package org.rapidbeans.core.util; import junit.framework.TestCase; /** * Tests for the StringHelper. * * @author Martin Bluemel */ public final class VersionTest extends TestCase { public void testCompareToNumbersEqual() { assertEquals(0, new Version("1.2.3").compareTo(new Version("1.2.3"))); } public void testCompareToNumbersGreaterEqualDim() { assertEquals(1, new Version("1.2.4").compareTo(new Version("1.2.3"))); } public void testCompareToNumbersGreaterDifferentDim1() { assertEquals(1, new Version("1.3").compareTo(new Version("1.2.3"))); } public void testCompareToNumbersGreaterDifferentDim2() { assertEquals(1, new Version("1.3.1").compareTo(new Version("1.2"))); } public void testCompareToNumbersLessDifferentDim1() { assertEquals(-1, new Version("1.2.2.4").compareTo(new Version("1.3"))); } public void testCompareToNumbersLessDifferentDim2() { assertEquals(-1, new Version("1.3").compareTo(new Version("1.4.3"))); } public void testCompareToNumbersLess() { assertEquals(-1, new Version("1.2.2").compareTo(new Version("1.2.3"))); } public void testCompareToMixedEqual() { assertEquals(0, new Version("1.2.b").compareTo(new Version("1.2.b"))); } public void testCompareToMixedGreater() { assertEquals(1, new Version("1.2.b").compareTo(new Version("1.2.a"))); } public void testCompareToMixedLess() { assertEquals(-1, new Version("1.2.b").compareTo(new Version("1.2.c"))); } public void testCompareToNumbersGreaterDifferentLengthGreater() { assertEquals(1, new Version("1.2.a").compareTo(new Version("1.2"))); } public void testCompareToNumbersGreaterDifferentLengthLess() { assertEquals(-1, new Version("1.2").compareTo(new Version("1.2.1"))); } public void testCompareToMixedNumberVsNonNumberGreater() { assertEquals(1, new Version("1.2.1").compareTo(new Version("1.2.a"))); } public void testCompareToMixedNumberVsNonNumberLess() { assertEquals(-1, new Version("1.2.a").compareTo(new Version("1.2.1"))); } public void testWeightSimple() { assertEquals(1.234567, new Version("1.2.3.4.5.6.7").weight()); } public void testWeightWithCaracters() { assertEquals(1.234065, new Version("1.2.3.4.A").weight()); assertEquals(1.234122, new Version("1.2.3.4.z").weight()); assertEquals(1.077767, new Version("a.a.a.a.a").weight()); assertEquals(1.077777, new Version("a.a.a.b.a").weight()); assertEquals(1.077778, new Version("a.a.a.b.b").weight()); assertEquals(2.00979899, new Version("2.0.abc").weight()); assertEquals(2.00989797, new Version("2.0.baa").weight()); } public void testGetNearestVersion() { assertEquals( "1.6.0_15", new Version("1.6.0_17").getNearest( new Version[] { new Version("1.6.0"), new Version("1.6.0_20"), new Version("1.6.0_15"), new Version("1.6.0_21"), new Version("1.1") }).toString()); assertEquals( "1.6.0", new Version("1.6.0_17").getNearest( new Version[] { new Version("1.5.9"), new Version("1.6.0"), new Version("1.6.1"), new Version("1.7.0"), new Version("1.8") }).toString()); assertEquals( "1.6.0_17", new Version("1.6.0_17").getNearest( new Version[] { new Version("1.5.9"), new Version("1.6.0_18"), new Version("1.6.0_17"), new Version("1.7.0_16"), new Version("1.8") }).toString()); } }