You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@depot.apache.org by ni...@apache.org on 2004/08/19 03:32:13 UTC

svn commit: rev 36584 - incubator/depot/trunk/version/src/test/java/org/apache/depot/version

Author: nickchalko
Date: Wed Aug 18 20:32:12 2004
New Revision: 36584

Modified:
   incubator/depot/trunk/version/src/test/java/org/apache/depot/version/VersionTestCase.java
Log:
Testing compartor and comparable.

Modified: incubator/depot/trunk/version/src/test/java/org/apache/depot/version/VersionTestCase.java
==============================================================================
--- incubator/depot/trunk/version/src/test/java/org/apache/depot/version/VersionTestCase.java	(original)
+++ incubator/depot/trunk/version/src/test/java/org/apache/depot/version/VersionTestCase.java	Wed Aug 18 20:32:12 2004
@@ -6,6 +6,8 @@
  */
 package org.apache.depot.version;
 
+import java.util.Comparator;
+
 import org.apache.depot.version.impl.data.VersionData;
 import org.apache.depot.version.specification.VersionSpecification;
 import org.apache.depot.version.specification.formatting.VersionFormatException;
@@ -23,6 +25,12 @@
 
 	private Version base;
 
+	private Version same;
+
+	private Version nonCompatible;
+
+	private Version compatible;
+
 	/**
 	 * @param specification
 	 */
@@ -31,20 +39,11 @@
 		this.specification = specification;
 	}
 
-	public void setUp() throws VersionFormatException {
+	public void setUp() throws VersionException {
 		base = createVersion(getBaseVersionString());
-
-	}
-
-	/**
-	 * @param versionString
-	 * @return @throws
-	 *         VersionFormatException
-	 */
-	private Version createVersion(String versionString)
-			throws VersionFormatException {
-		return VersionManager.getManager().createVersion(specification,
-				versionString);
+		same = createVersion(getBaseVersionString());
+		nonCompatible = base.increment(getNonCompatibleIncrement());
+		compatible = base.increment(getCompatibleIncrement());
 	}
 
 	public void tearDown() {
@@ -56,13 +55,80 @@
 				+ " should not be null", base);
 	}
 
-	public void testEquality() throws VersionException {
+	public void testEquality() {
 		assertSymetricNotEquals(base, Version.UNKNOWN);
-		Version same = createVersion(getBaseVersionString());
+
 		assertEquals("Version of " + getBaseVersionString(), base, same);
 		assertEquals("Version of " + getBaseVersionString(), same, base);
-		Version other = base.increment(getNonCompatibleIncrement());
-		assertSymetricNotEquals(other, base);
+		assertSymetricNotEquals(nonCompatible, base);
+		assertSymetricNotEquals(compatible, base);
+	}
+
+	public void testComparable() {
+		assertSymetricComparableZero(base, same);
+		assertSymetricCompare(base, nonCompatible);
+	}
+
+	public void testComparator() {
+		Version v1 = base;
+		Version v2 = same;
+
+		Version less = base;
+		Version more = nonCompatible;
+		assertSymetricComparator(less, more);
+
+	}
+
+	/**
+	 * @param less
+	 * @param more
+	 */
+	private void assertSymetricComparator(Version less, Version more) {
+		Comparator c = less.getComparator();
+		assertTrue("Using comparator " + c + " of the lesser. " + less
+				+ " compare to " + more + " shoule be <0 but was "
+				+ less.compareTo(more), less.compareTo(more) < 0);
+		assertTrue("Using comparator " + c + " ofthe lesser. " + more
+				+ " compare to " + less + " shoule be <0 but was "
+				+ more.compareTo(less), more.compareTo(less) > 0);
+		c = more.getComparator();
+		assertTrue("Using comparator " + c + " of the greator. " + less
+				+ " compare to " + more + " shoule be <0 but was "
+				+ less.compareTo(more), less.compareTo(more) < 0);
+		assertTrue("Using comparator " + c + " ofthe greator. " + more
+				+ " compare to " + less + " shoule be <0 but was "
+				+ more.compareTo(less), more.compareTo(less) > 0);
+	}
+
+	/**
+	 * @param less
+	 * @param more
+	 */
+	private void assertSymetricCompare(Version less, Version more) {
+		assertTrue(less + " compare " + more + " shoule be <0 but was "
+				+ less.compareTo(more), less.compareTo(more) < 0);
+		assertTrue(more + " compare " + less + " shoule be > 0 but was "
+				+ more.compareTo(less), more.compareTo(less) > 0);
+	}
+
+	/**
+	 * @param v1
+	 * @param v2
+	 */
+	private void assertSymetricComparableZero(Version v1, Version v2) {
+		assertEquals(v1 + " compare " + v2, 0, v1.compareTo(v2));
+		assertEquals(v2 + " compare " + v1, 0, v2.compareTo(v1));
+	}
+
+	/**
+	 * @param versionString
+	 * @return @throws
+	 *         VersionFormatException
+	 */
+	private Version createVersion(String versionString)
+			throws VersionFormatException {
+		return VersionManager.getManager().createVersion(specification,
+				versionString);
 	}
 
 	/**
@@ -70,6 +136,13 @@
 	 */
 	private String getNonCompatibleIncrement() {
 		return "major";
+	}
+
+	/**
+	 * @return
+	 */
+	private String getCompatibleIncrement() {
+		return "point";
 	}
 
 	/**