You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2005/12/30 16:08:40 UTC

svn commit: r360097 - in /incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang: DoubleTest.java FloatTest.java

Author: tellison
Date: Fri Dec 30 07:08:34 2005
New Revision: 360097

URL: http://svn.apache.org/viewcvs?rev=360097&view=rev
Log:
Regressions tests for HARMONY-22

Added:
    incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang/DoubleTest.java
Modified:
    incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang/FloatTest.java

Added: incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang/DoubleTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang/DoubleTest.java?rev=360097&view=auto
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang/DoubleTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang/DoubleTest.java Fri Dec 30 07:08:34 2005
@@ -0,0 +1,78 @@
+/* Copyright 2005 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.harmony.tests.java.lang;
+
+import junit.framework.TestCase;
+
+public class DoubleTest extends TestCase {
+
+	/**
+	 * @tests java.lang.Double#compareTo(java.lang.Double)
+	 * @tests java.lang.Double#compare(double, double)
+	 */
+	public void test_compareToLjava_lang_Double() {
+		// A selection of double values in ascending order.
+		double[] values = new double[] { Double.NEGATIVE_INFINITY,
+				-Double.MAX_VALUE, -2d, -Double.MIN_VALUE, -0d, 0d,
+				Double.MIN_VALUE, 2d, Double.MAX_VALUE,
+				Double.POSITIVE_INFINITY, Double.NaN };
+		for (int i = 0; i < values.length; i++) {
+			double d1 = values[i];
+
+			// Test that each value compares equal to itself; and each object is
+			// equal to another object like itself.
+			assertTrue("Assert 0: compare() should be equal: " + d1,
+					Double.compare(d1, d1) == 0);
+			Double objDouble = new Double(d1);
+			assertTrue("Assert 1: compareTo() should be equal: " + d1,
+					objDouble.compareTo(objDouble) == 0);
+
+			// Test that the Double-defined order is respected
+			for (int j = i + 1; j < values.length; j++) {
+				double d2 = values[j];
+				assertTrue("Assert 2: compare() " + d1 + " should be less " + d2, 
+						Double.compare(d1, d2) == -1);
+				assertTrue("Assert 3: compare() " + d2 + " should be greater " + d1,
+						Double.compare(d2, d1) == 1);
+				Double D2 = new Double(d2);
+				assertTrue("Assert 4: compareTo() " + d1 + " should be less " + d2,
+						objDouble.compareTo(D2) == -1);
+				assertTrue("Assert 5: compareTo() " + d2 + " should be greater " + d1,
+						D2.compareTo(objDouble) == 1);
+			}
+		}
+	}
+
+	/**
+	 * @tests java.lang.Double#equals(java.lang.Object)
+	 */
+	public void test_equalsLjava_lang_Object() {
+		Double d1 = new Double(87654321.12345d);
+		Double d2 = new Double(87654321.12345d);
+		Double d3 = new Double(0.0002f);
+		assertTrue("Assert 0: Equality test failed",
+				d1.equals(d2) && !(d1.equals(d3)));
+
+		assertTrue("Assert 2: NaN should not be == Nan",
+				Double.NaN != Double.NaN);
+		assertTrue("Assert 3: NaN should not be == Nan",
+				new Double(Double.NaN).equals(new Double(Double.NaN)));
+		assertTrue("Assert 4: -0d should be == 0d",
+				0d == -0d);
+		assertTrue("Assert 5: -0d should not be equals() 0d",
+				!new Double(0d).equals(new Double(-0d)));
+	}
+}

Modified: incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang/FloatTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang/FloatTest.java?rev=360097&r1=360096&r2=360097&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang/FloatTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/java-src/luni/src/test/java/org/apache/harmony/tests/java/lang/FloatTest.java Fri Dec 30 07:08:34 2005
@@ -1,7 +1,80 @@
+/* Copyright 2005 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.harmony.tests.java.lang;
 
 import junit.framework.TestCase;
 
 public class FloatTest extends TestCase {
 
+	/**
+	 * @tests java.lang.Float#compareTo(java.lang.Float)
+	 * @tests java.lang.Float#compare(float, float)
+	 */
+	public void test_compareToLjava_lang_Float() {
+		// A selection of float values in ascending order.
+		float[] values = new float[] { Float.NEGATIVE_INFINITY,
+				-Float.MAX_VALUE, -2f, -Float.MIN_VALUE, -0f, 0f,
+				Float.MIN_VALUE, 2f, Float.MAX_VALUE, Float.POSITIVE_INFINITY,
+				Float.NaN };
+
+		for (int i = 0; i < values.length; i++) {
+			float f1 = values[i];
+
+			// Test that each value compares equal to itself; and each object is equal to another object
+			// like itself
+			assertTrue("Assert 0: compare() should be equal: " + f1, Float
+					.compare(f1, f1) == 0);
+			Float objFloat = new Float(f1);
+			assertTrue("Assert 1: compareTo() should be equal: " + objFloat,
+					objFloat.compareTo(objFloat) == 0);
+
+			// Test that the Float-defined order is respected
+			for (int j = i + 1; j < values.length; j++) {
+				float f2 = values[j];
+				assertTrue("Assert 2: compare() " + f1 + " should be less " + f2,
+						Float.compare(f1, f2) == -1);
+				assertTrue("Assert 3: compare() " + f2 + " should be greater " + f1,
+						Float.compare(f2, f1) == 1);
+
+				Float F2 = new Float(f2);
+				assertTrue("Assert 4: compareTo() " + f1 + " should be less " + f2,
+						objFloat.compareTo(F2) == -1);
+				assertTrue("Assert 5: compareTo() " + f2 + " should be greater " + f1,
+						F2.compareTo(objFloat) == 1);
+			}
+		}
+	}
+
+	/**
+	 * @tests java.lang.Float#equals(java.lang.Object)
+	 */
+	public void test_equalsLjava_lang_Object() {
+		Float f1 = new Float(8765.4321f);
+		Float f2 = new Float(8765.4321f);
+		Float f3 = new Float(-1.0f);
+		assertTrue("Assert 0: Equality test failed", f1.equals(f2)
+				&& !(f1.equals(f3)));
+
+		assertTrue("Assert 1: NaN should not be == Nan",
+				Float.NaN != Float.NaN);
+		assertTrue("Assert 2: NaN should not be == Nan",
+				new Float(Float.NaN).equals(new Float(Float.NaN)));
+		assertTrue("Assert 3: -0f should be == 0f",
+				0f == -0f);
+		assertTrue("Assert 4: -0f should not be equals() 0f",
+				!new Float(0f).equals(new Float(-0f)));
+	}
 }