You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ml...@apache.org on 2006/04/25 13:16:40 UTC

svn commit: r396842 - in /incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math: BigDecimalTest.java BigIntegerTest.java

Author: mloenko
Date: Tue Apr 25 04:16:37 2006
New Revision: 396842

URL: http://svn.apache.org/viewcvs?rev=396842&view=rev
Log:
Let JUnit handle the "unexpected exception" cases

Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigDecimalTest.java
    incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigIntegerTest.java

Modified: incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigDecimalTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigDecimalTest.java?rev=396842&r1=396841&r2=396842&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigDecimalTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigDecimalTest.java Tue Apr 25 04:16:37 2006
@@ -78,7 +78,7 @@
 	/**
 	 * @tests java.math.BigDecimal#BigDecimal(java.lang.String)
 	 */
-	public void test_ConstructorLjava_lang_String() {
+	public void test_ConstructorLjava_lang_String() throws NumberFormatException {
 		BigDecimal big = new BigDecimal("345.23499600293850");
 		assertTrue("the BigDecimal value is not initialized properly", big
 				.toString().equals("345.23499600293850")
@@ -91,15 +91,8 @@
 		assertTrue("the BigDecimal value is not initialized properly", big
 				.toString().equals("123")
 				&& big.scale() == 0);
-		int r = 0;
-		try {
-			new BigDecimal("1.234E02");
-		} catch (NumberFormatException e) {
-			r = 1;
-		}
-		assertTrue(
-				"constructor failed to catch invalid character in BigDecimal(string)",
-				r == 0);
+
+		new BigDecimal("1.234E02");
 	}
 
 	/**
@@ -110,18 +103,8 @@
 		 * BigDecimal does not support a + sign in the exponent when converting
 		 * from a String
 		 */
-		try {
-			new BigDecimal(+23e-0);
-		} catch (Throwable e) {
-			fail("Unexpected Exception when constructing BigDecimal  +23e-0 : "
-					+ e);
-		}
-		try {
-			new BigDecimal(-23e+0);
-		} catch (Throwable e) {
-			fail("Unexpected Exception when constructing BigDecimal  -23e+0 : "
-					+ e);
-		}
+		new BigDecimal(+23e-0);
+		new BigDecimal(-23e+0);
 	}
 
 	/**
@@ -131,13 +114,8 @@
 		boolean gotNFE = false;
 		try {
 			new BigDecimal("");			
+            fail("NumberFormatException expected");
 		} catch (NumberFormatException e) {
-			gotNFE = true;
-		} catch (Throwable e) {
-			fail("Unexpected exception for new BigDecimal(\"\") " + e);
-		}
-		if (!gotNFE) { 
-			fail("Expected NumberFormatException for new BigDecimal(\"\")");
 		}
 	}
 	
@@ -145,29 +123,16 @@
 	 * @tests java.math.BigDecimal#BigDecimal(java.lang.String)
 	 */
 	public void test_constructor_String_plus_minus_exp() {
-		boolean gotNFE = false;
 		try {
 			new BigDecimal("+35e+-2");			
+            fail("NumberFormatException expected");
 		} catch (NumberFormatException e) {
-			gotNFE = true;
-		} catch (Throwable e) {
-			fail("Unexpected exception for new BigDecimal(\"+35e+-2\") " + e);
 		}
 		
-		if (!gotNFE) {
-			fail("Expected NumberFormatException for new BigDecimal(\"+35e+-2\")");
-		}
-		gotNFE = false;
-
 		try {
 			new BigDecimal("-35e-+2");			
+            fail("NumberFormatException expected");
 		} catch (NumberFormatException e) {
-			gotNFE = true;
-		} catch (Throwable e) {
-			fail("Unexpected exception for new BigDecimal(\"-35e-+2\") " + e);
-		}
-		if (!gotNFE) {
-			fail("Expected NumberFormatException for new BigDecimal(\"-35e-+2\")");
 		}
 	}
 
@@ -237,13 +202,12 @@
 				"1000.47")
 				&& divd3.scale() == 2);
 		divd2 = new BigDecimal(000D);
-		int r = 0;
+
 		try {
-			divd3 = divd1.divide(divd2, BigDecimal.ROUND_DOWN);
+			divd1.divide(divd2, BigDecimal.ROUND_DOWN);
+            fail("divide by zero is not caught");
 		} catch (ArithmeticException e) {
-			r = 1;
 		}
-		assertTrue("divide by zero is not caught", r == 1);
 	}
 
 	/**
@@ -262,13 +226,12 @@
 				"1233456/13.455 is not correct or does not have the correct scale",
 				divd3.toString().equals("91672") && divd3.scale() == 0);
 		divd2 = new BigDecimal(0000D);
-		int r = 0;
+
 		try {
-			divd3 = divd1.divide(divd2, 4, BigDecimal.ROUND_DOWN);
+			divd1.divide(divd2, 4, BigDecimal.ROUND_DOWN);
+            fail("divide by zero is not caught");
 		} catch (ArithmeticException e) {
-			r = 1;
 		}
-		assertTrue("divide by zero is not caught", r == 1);
 	}
 
 	/**
@@ -590,15 +553,12 @@
 		assertTrue("the number 12345.908 after setting scale is wrong",
 				setScale2.unscaledValue().equals(setresult)
 						&& setScale2.scale() == 5);
-		int r = 0;
+
 		try {
 			setScale2 = setScale1.setScale(2, BigDecimal.ROUND_UNNECESSARY);
+            fail("arithmetic Exception not caught as a result of loosing precision");
 		} catch (ArithmeticException e) {
-			r = 1;
 		}
-		assertTrue(
-				"arithmetic Exception not caught as a result of loosing precision",
-				r == 1);
 	}
 
 	/**
@@ -708,14 +668,11 @@
 				setScale2.toString().equals("-1234") && setScale2.scale() == 0);
 
 		// testing rounding Mode ROUND_UNNECESSARY
-		int r = 0;
 		try {
-			setScale2 = setScale1.setScale(3, BigDecimal.ROUND_UNNECESSARY);
+			setScale1.setScale(3, BigDecimal.ROUND_UNNECESSARY);
+            fail("arithmetic Exception not caught for round unnecessary");
 		} catch (ArithmeticException e) {
-			r = 1;
 		}
-		assertTrue("arithmetic Exception not caught for round unnecessary",
-				r == 1);
 
 		// testing rounding Mode ROUND_UP
 		setScale1 = new BigDecimal("100000.374");
@@ -731,15 +688,11 @@
 				setScale2.doubleValue() == -134.35D && setScale2.scale() == 2);
 
 		// testing invalid rounding modes
-		r = 0;
 		try {
 			setScale2 = setScale1.setScale(0, -123);
+            fail("IllegalArgumentException is not caught for wrong rounding mode");
 		} catch (IllegalArgumentException e) {
-			r = 1;
 		}
-		assertTrue(
-				"IllegalArgumentException is not caught for wrong rounding mode",
-				r == 1);
 	}
 
 	/**
@@ -896,11 +849,5 @@
 				"the toString representation of 9223372036854775806 is wrong",
 				valueOfJI.toString().equals("0.000"));
 
-	}
-
-	protected void setUp() {
-	}
-
-	protected void tearDown() {
 	}
 }

Modified: incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigIntegerTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigIntegerTest.java?rev=396842&r1=396841&r2=396842&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigIntegerTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigIntegerTest.java Tue Apr 25 04:16:37 2006
@@ -145,28 +145,21 @@
 		assertTrue("Incorrect value for zero", bi.equals(zero));
 		myByteArray = new byte[] { (byte) 1 };
 		try {
-			bi = new BigInteger(0, myByteArray);
+			new BigInteger(0, myByteArray);
+            fail("Failed to throw NumberFormatException");
 		} catch (NumberFormatException e) {
 			// correct
-			return;
 		}
-		fail("Failed to throw NumberFormatException");
 	}
 	
 	/**
 	 * @tests java.math.BigInteger#BigInteger(java.lang.String)
 	 */
 	public void test_constructor_String_empty() {
-		boolean gotNFE = false;
 		try {
 			new BigInteger("");			
+            fail("Expected NumberFormatException for new BigInteger(\"\")");
 		} catch (NumberFormatException e) {
-			gotNFE = true;
-		} catch (Throwable e) {
-			fail("Unexpected exception for new BigInteger(\"\") " + e);
-		}
-		if (!gotNFE) { 
-			fail("Expected NumberFormatException for new BigInteger(\"\")");
 		}
 	}
 
@@ -581,136 +574,117 @@
 		testDivRanges(new BigInteger("62EB40FEF85AA9EB", 16));
 		testAllDivs(BigInteger.valueOf(0xCC0225953CL), BigInteger
 				.valueOf(0x1B937B765L));
-		boolean thr = false;
+
 		try {
 			largePos.divide(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on div by zero", thr);
-		thr = false;
+
 		try {
 			bi1.divide(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on div by zero", thr);
-		thr = false;
+
 		try {
 			bi3.negate().divide(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on div by zero", thr);
-		thr = false;
+
 		try {
 			zero.divide(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on div by zero", thr);
 	}
 
 	/**
 	 * @tests java.math.BigInteger#remainder(java.math.BigInteger)
 	 */
 	public void test_remainderLjava_math_BigInteger() {
-		boolean thr = false;
 		try {
 			largePos.remainder(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on remainder by zero", thr);
-		thr = false;
+
 		try {
 			bi1.remainder(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on remainder by zero", thr);
-		thr = false;
+
 		try {
 			bi3.negate().remainder(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on remainder by zero", thr);
-		thr = false;
+
 		try {
 			zero.remainder(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on remainder by zero", thr);
 	}
 
 	/**
 	 * @tests java.math.BigInteger#mod(java.math.BigInteger)
 	 */
 	public void test_modLjava_math_BigInteger() {
-		boolean thr = false;
 		try {
 			largePos.mod(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on mod by zero", thr);
-		thr = false;
+
 		try {
 			bi1.mod(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on mod by zero", thr);
-		thr = false;
+
 		try {
 			bi3.negate().mod(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on mod by zero", thr);
-		thr = false;
+
 		try {
 			zero.mod(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on mod by zero", thr);
 	}
 
 	/**
 	 * @tests java.math.BigInteger#divideAndRemainder(java.math.BigInteger)
 	 */
 	public void test_divideAndRemainderLjava_math_BigInteger() {
-		boolean thr = false;
 		try {
 			largePos.divideAndRemainder(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on divAndRem by zero", thr);
-		thr = false;
+
 		try {
 			bi1.divideAndRemainder(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on divAndRem by zero", thr);
-		thr = false;
+
 		try {
 			bi3.negate().divideAndRemainder(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on divAndRem by zero", thr);
-		thr = false;
+
 		try {
 			zero.divideAndRemainder(zero);
+            fail("ArithmeticException expected");
 		} catch (ArithmeticException e) {
-			thr = true;
 		}
-		assertTrue("exception on divAndRem by zero", thr);
 	}
 
 	/**
@@ -895,9 +869,6 @@
 		booleanPairs = new BigInteger[][] { { largePos, smallPos },
 				{ largePos, smallNeg }, { largeNeg, smallPos },
 				{ largeNeg, smallNeg } };
-	}
-
-	protected void tearDown() {
 	}
 
 	private void testDiv(BigInteger i1, BigInteger i2) {