Author: erans
Date: Mon Jul  5 14:10:10 2010
New Revision: 960602

URL: http://svn.apache.org/viewvc?rev=960602&view=rev
Log:
MATH-361
MATH-382

Added:
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooLargeException.java
   (with props)
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooSmallException.java
   (with props)
    
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooLargeExceptionTest.java
   (with props)
    
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooSmallExceptionTest.java
   (with props)
Modified:
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolatingFunction.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolator.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/LinearInterpolator.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/MicrosphereInterpolatingFunction.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/MicrosphereInterpolator.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/SplineInterpolator.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NotPositiveException.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NotStrictlyPositiveException.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/LocalizedFormats.java
    
commons/proper/math/trunk/src/main/resources/META-INF/localization/LocalizedFormats_fr.properties
    commons/proper/math/trunk/src/site/xdoc/changes.xml
    
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/interpolation/LinearInterpolatorTest.java
    
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/interpolation/SplineInterpolatorTest.java
    
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NotPositiveExceptionTest.java
    
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NotStrictlyPositiveExceptionTest.java

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolatingFunction.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolatingFunction.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolatingFunction.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolatingFunction.java
 Mon Jul  5 14:10:10 2010
@@ -18,7 +18,8 @@ package org.apache.commons.math.analysis
 
 import org.apache.commons.math.util.LocalizedFormats;
 import org.apache.commons.math.util.MathUtils;
-import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.exception.NoDataException;
+import org.apache.commons.math.exception.OutOfRangeException;
 import org.apache.commons.math.FunctionEvaluationException;
 import org.apache.commons.math.DimensionMismatchException;
 import org.apache.commons.math.analysis.BivariateRealFunction;
@@ -85,8 +86,9 @@ public class BicubicSplineInterpolatingF
      * every grid point.
      * @throws DimensionMismatchException if the various arrays do not contain
      * the expected number of elements.
-     * @throws IllegalArgumentException if {...@code x} or {...@code y} are 
not strictly
+     * @throws NonMonotonousSequenceException if {...@code x} or {...@code y} 
are not strictly
      * increasing.
+     * @throws NoDataException if any of the arrays has zero length.
      */
     public BicubicSplineInterpolatingFunction(double[] x,
                                               double[] y,
@@ -99,7 +101,7 @@ public class BicubicSplineInterpolatingF
         final int yLen = y.length;
 
         if (xLen == 0 || yLen == 0 || f.length == 0 || f[0].length == 0) {
-            throw 
MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NO_DATA);
+            throw new NoDataException();
         }
         if (xLen != f.length) {
             throw new DimensionMismatchException(xLen, f.length);
@@ -158,15 +160,11 @@ public class BicubicSplineInterpolatingF
     public double value(double x, double y) {
         final int i = searchIndex(x, xval);
         if (i == -1) {
-            throw MathRuntimeException.createIllegalArgumentException(
-                  LocalizedFormats.OUT_OF_RANGE_SIMPLE,
-                  x, xval[0], xval[xval.length - 1]);
+            throw new OutOfRangeException(x, xval[0], xval[xval.length - 1]);
         }
         final int j = searchIndex(y, yval);
         if (j == -1) {
-            throw MathRuntimeException.createIllegalArgumentException(
-                  LocalizedFormats.OUT_OF_RANGE_SIMPLE,
-                  y, yval[0], yval[yval.length - 1]);
+            throw new OutOfRangeException(y, yval[0], yval[yval.length - 1]);
         }
 
         final double xN = (x - xval[i]) / (xval[i + 1] - xval[i]);
@@ -233,13 +231,11 @@ public class BicubicSplineInterpolatingF
 
         final int i = searchIndex(x, xval);
         if (i == -1) {
-            throw 
MathRuntimeException.createIllegalArgumentException(LocalizedFormats.OUT_OF_RANGE_SIMPLE,
-                                                                      x, 
xval[0], xval[xval.length - 1]);
+            throw new OutOfRangeException(x, xval[0], xval[xval.length - 1]);
         }
         final int j = searchIndex(y, yval);
         if (j == -1) {
-            throw 
MathRuntimeException.createIllegalArgumentException(LocalizedFormats.OUT_OF_RANGE_SIMPLE,
-                                                                      y, 
yval[0], yval[yval.length - 1]);
+            throw new OutOfRangeException(y, yval[0], yval[yval.length - 1]);
         }
 
         final double xN = (x - xval[i]) / (xval[i + 1] - xval[i]);
@@ -376,12 +372,10 @@ class BicubicSplineFunction
      */
     public double value(double x, double y) {
         if (x < 0 || x > 1) {
-            throw 
MathRuntimeException.createIllegalArgumentException(LocalizedFormats.OUT_OF_RANGE_SIMPLE,
-                                                                      x, 0, 1);
+            throw new OutOfRangeException(x, 0, 1);
         }
         if (y < 0 || y > 1) {
-            throw 
MathRuntimeException.createIllegalArgumentException(LocalizedFormats.OUT_OF_RANGE_SIMPLE,
-                                                                      y, 0, 1);
+            throw new OutOfRangeException(y, 0, 1);
         }
 
         final double x2 = x * x;

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolator.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolator.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolator.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolator.java
 Mon Jul  5 14:10:10 2010
@@ -17,7 +17,7 @@
 package org.apache.commons.math.analysis.interpolation;
 
 import org.apache.commons.math.DimensionMismatchException;
-import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.exception.NoDataException;
 import org.apache.commons.math.MathException;
 import org.apache.commons.math.util.LocalizedFormats;
 import org.apache.commons.math.util.MathUtils;
@@ -40,7 +40,7 @@ public class BicubicSplineInterpolator
                                                           final double[][] 
fval)
         throws MathException, IllegalArgumentException {
         if (xval.length == 0 || yval.length == 0 || fval.length == 0) {
-            throw 
MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NO_DATA);
+            throw new NoDataException();
         }
         if (xval.length != fval.length) {
             throw new DimensionMismatchException(xval.length, fval.length);

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/LinearInterpolator.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/LinearInterpolator.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/LinearInterpolator.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/LinearInterpolator.java
 Mon Jul  5 14:10:10 2010
@@ -16,10 +16,11 @@
  */
 package org.apache.commons.math.analysis.interpolation;
 
-import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.exception.DimensionMismatchException;
+import org.apache.commons.math.exception.NumberIsTooSmallException;
 import org.apache.commons.math.analysis.polynomials.PolynomialFunction;
 import org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction;
-import org.apache.commons.math.util.LocalizedFormats;
+import org.apache.commons.math.util.MathUtils;
 
 /**
  * Implements a linear function for interpolation of real univariate functions.
@@ -30,28 +31,26 @@ public class LinearInterpolator implemen
      * @param x the arguments for the interpolation points
      * @param y the values for the interpolation points
      * @return a function which interpolates the data set
-    */
+     * @throws DimensionMismatchException if {...@code x} and {...@code y}
+     * have different sizes.
+     * @throws NonMonotonousSequenceException if {...@code x} is not sorted in
+     * strict increasing order.
+     * @throws NumberIsTooSmallException if the size of {...@code x} is smaller
+     * than 2.
+     */
     public PolynomialSplineFunction interpolate(double x[], double y[]) {
         if (x.length != y.length) {
-            throw MathRuntimeException.createIllegalArgumentException(
-                  LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, x.length, 
y.length);
+            throw new DimensionMismatchException(x.length, y.length);
         }
 
         if (x.length < 2) {
-            throw MathRuntimeException.createIllegalArgumentException(
-                  LocalizedFormats.WRONG_NUMBER_OF_POINTS, 2, x.length);
+            throw new NumberIsTooSmallException(x.length, 2, true);
         }
 
         // Number of intervals.  The number of data points is n + 1.
         int n = x.length - 1;
 
-        for (int i = 0; i < n; i++) {
-            if (x[i] >= x[i + 1]) {
-                throw MathRuntimeException.createIllegalArgumentException(
-                LocalizedFormats.NOT_STRICTLY_INCREASING_NUMBER_OF_POINTS,
-                i, i+1, x[i], x[i+1]);
-            }
-        }
+        MathUtils.checkOrder(x);
 
         // Slope of the lines between the datapoints.
         final double m[] = new double[n];

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/MicrosphereInterpolatingFunction.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/MicrosphereInterpolatingFunction.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/MicrosphereInterpolatingFunction.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/MicrosphereInterpolatingFunction.java
 Mon Jul  5 14:10:10 2010
@@ -22,7 +22,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.math.DimensionMismatchException;
-import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.exception.NoDataException;
 import org.apache.commons.math.analysis.MultivariateRealFunction;
 import org.apache.commons.math.linear.ArrayRealVector;
 import org.apache.commons.math.linear.RealVector;
@@ -142,7 +142,7 @@ public class MicrosphereInterpolatingFun
      * {...@code xval} (equal to {...@code n}, the number of interpolation 
points)
      * do not match, or the the arrays {...@code xval[0]} ... {...@code 
xval[n]},
      * have lengths different from {...@code dimension}.
-     * @throws IllegalArgumentException if there are no data (xval null or 
zero length)
+     * @throws NoDataException if there are no data (xval null or zero length)
      */
     public MicrosphereInterpolatingFunction(double[][] xval,
                                             double[] yval,
@@ -151,7 +151,7 @@ public class MicrosphereInterpolatingFun
                                             UnitSphereRandomVectorGenerator 
rand)
         throws DimensionMismatchException, IllegalArgumentException {
         if (xval.length == 0 || xval[0] == null) {
-            throw 
MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NO_DATA);
+            throw new NoDataException();
         }
 
         if (xval.length != yval.length) {

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/MicrosphereInterpolator.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/MicrosphereInterpolator.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/MicrosphereInterpolator.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/MicrosphereInterpolator.java
 Mon Jul  5 14:10:10 2010
@@ -17,7 +17,8 @@
 package org.apache.commons.math.analysis.interpolation;
 
 import org.apache.commons.math.MathException;
-import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.exception.NotPositiveException;
+import org.apache.commons.math.exception.NotStrictlyPositiveException;
 import org.apache.commons.math.analysis.MultivariateRealFunction;
 import org.apache.commons.math.random.UnitSphereRandomVectorGenerator;
 import org.apache.commons.math.util.LocalizedFormats;
@@ -25,7 +26,7 @@ import org.apache.commons.math.util.Loca
 /**
  * Interpolator that implements the algorithm described in
  * <em>William Dudziak</em>'s
- * <a href="http://www.dudziak.com/microsphere.pdf";>MS thesis</a>
+ * <a href="http://www.dudziak.com/microsphere.pdf";>MS thesis</a>.
  * @since 2.1
  *
  * @version $Revision$ $Date$
@@ -59,18 +60,17 @@ public class MicrosphereInterpolator
      * #MicrosphereInterpolator(int, int)
      * 
MicrosphereInterpolator(MicrosphereInterpolator.DEFAULT_MICROSPHERE_ELEMENTS,
      * MicrosphereInterpolator.DEFAULT_BRIGHTNESS_EXPONENT)}.</p>
-     * weights of the sample data
      */
     public MicrosphereInterpolator() {
         this(DEFAULT_MICROSPHERE_ELEMENTS, DEFAULT_BRIGHTNESS_EXPONENT);
     }
 
     /** Create a microsphere interpolator.
-     * @param microsphereElements number of surface elements of the microsphere
+     * @param microsphereElements number of surface elements of the 
microsphere.
      * @param brightnessExponent exponent used in the power law that computes 
the
-     * weights of the sample data
-     * @throws IllegalArgumentException if {...@code microsphereElements <= 0}
-     * or {...@code brightnessExponent < 0}
+     * weights of the sample data.
+     * @throws NotPositiveException if {...@code microsphereElements <= 0}
+     * or {...@code brightnessExponent < 0}.
      */
     public MicrosphereInterpolator(final int microsphereElements,
                                    final int brightnessExponent) {
@@ -94,31 +94,26 @@ public class MicrosphereInterpolator
 
     /**
      * Set the brightness exponent.
-     * @param brightnessExponent Exponent for computing the distance dimming
+     * @param exponent Exponent for computing the distance dimming
      * factor.
-     * @throws IllegalArgumentException if {...@code brightnessExponent < 0}.
+     * @throws NotPositiveException if {...@code exponent < 0}.
      */
-    public void setBrightnessExponent(final int brightnessExponent) {
-        if (brightnessExponent < 0) {
-            throw MathRuntimeException.createIllegalArgumentException(
-                LocalizedFormats.NEGATIVE_BRIGHTNESS_EXPONENT,
-                brightnessExponent);
+    public void setBrightnessExponent(final int exponent) {
+        if (exponent < 0) {
+            throw new NotPositiveException(exponent);
         }
-        this.brightnessExponent = brightnessExponent;
+        brightnessExponent = exponent;
     }
 
     /**
      * Set the number of microsphere elements.
      * @param elements Number of surface elements of the microsphere.
-     * @throws IllegalArgumentException if {...@code microsphereElements <= 0}.
+     * @throws NotStrictlyPositiveException if {...@code elements <= 0}.
      */
     public void setMicropshereElements(final int elements) {
-        if (microsphereElements < 0) {
-            throw MathRuntimeException.createIllegalArgumentException(
-                LocalizedFormats.NON_POSITIVE_MICROSPHERE_ELEMENTS,
-                microsphereElements);
+        if (elements <= 0) {
+            throw new NotStrictlyPositiveException(elements);
         }
-        this.microsphereElements = elements;
+        microsphereElements = elements;
     }
-
 }

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/SplineInterpolator.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/SplineInterpolator.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/SplineInterpolator.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/SplineInterpolator.java
 Mon Jul  5 14:10:10 2010
@@ -16,10 +16,11 @@
  */
 package org.apache.commons.math.analysis.interpolation;
 
-import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.exception.DimensionMismatchException;
+import org.apache.commons.math.exception.NumberIsTooSmallException;
 import org.apache.commons.math.analysis.polynomials.PolynomialFunction;
 import org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction;
-import org.apache.commons.math.util.LocalizedFormats;
+import org.apache.commons.math.util.MathUtils;
 
 /**
  * Computes a natural (also known as "free", "unclamped") cubic spline 
interpolation for the data set.
@@ -55,28 +56,26 @@ public class SplineInterpolator implemen
      * @param x the arguments for the interpolation points
      * @param y the values for the interpolation points
      * @return a function which interpolates the data set
+     * @throws DimensionMismatchException if {...@code x} and {...@code y}
+     * have different sizes.
+     * @throws NonMonotonousSequenceException if {...@code x} is not sorted in
+     * strict increasing order.
+     * @throws NumberIsTooSmallException if the size of {...@code x} is smaller
+     * than 3.
      */
     public PolynomialSplineFunction interpolate(double x[], double y[]) {
         if (x.length != y.length) {
-            throw MathRuntimeException.createIllegalArgumentException(
-                  LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, x.length, 
y.length);
+            throw new DimensionMismatchException(x.length, y.length);
         }
 
         if (x.length < 3) {
-            throw MathRuntimeException.createIllegalArgumentException(
-                  LocalizedFormats.WRONG_NUMBER_OF_POINTS, 3, x.length);
+            throw new NumberIsTooSmallException(x.length, 3, true);
         }
 
         // Number of intervals.  The number of data points is n + 1.
         int n = x.length - 1;
 
-        for (int i = 0; i < n; i++) {
-            if (x[i] >= x[i + 1]) {
-                throw MathRuntimeException.createIllegalArgumentException(
-                      
LocalizedFormats.NOT_STRICTLY_INCREASING_NUMBER_OF_POINTS,
-                      i, i+1, x[i], x[i+1]);
-            }
-        }
+        MathUtils.checkOrder(x);
 
         // Differences between knot points
         double h[] = new double[n];

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NotPositiveException.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NotPositiveException.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NotPositiveException.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NotPositiveException.java
 Mon Jul  5 14:10:10 2010
@@ -24,13 +24,13 @@ import org.apache.commons.math.util.Loca
  * @since 2.2
  * @version $Revision$ $Date$
  */
-public class NotPositiveException extends MathIllegalNumberException {
+public class NotPositiveException extends NumberIsTooSmallException {
     /**
      * Construct the exception.
      *
      * @param value Argument.
      */
     public NotPositiveException(Number value) {
-        super(LocalizedFormats.NOT_POSITIVE, value);
+        super(value, 0, true);
     }
 }

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NotStrictlyPositiveException.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NotStrictlyPositiveException.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NotStrictlyPositiveException.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NotStrictlyPositiveException.java
 Mon Jul  5 14:10:10 2010
@@ -24,13 +24,13 @@ import org.apache.commons.math.util.Loca
  * @since 2.2
  * @version $Revision$ $Date$
  */
-public class NotStrictlyPositiveException extends MathIllegalNumberException {
+public class NotStrictlyPositiveException extends NumberIsTooSmallException {
     /**
      * Construct the exception.
      *
      * @param value Argument.
      */
     public NotStrictlyPositiveException(Number value) {
-        super(LocalizedFormats.NOT_STRICTLY_POSITIVE, value);
+        super(value, 0, false);
     }
 }

Added: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooLargeException.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooLargeException.java?rev=960602&view=auto
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooLargeException.java
 (added)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooLargeException.java
 Mon Jul  5 14:10:10 2010
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.commons.math.exception;
+
+import org.apache.commons.math.util.LocalizedFormats;
+
+/**
+ * Exception to be thrown when a number is too large.
+ *
+ * @since 2.2
+ * @version $Revision$ $Date$
+ */
+public class NumberIsTooLargeException extends MathIllegalNumberException {
+    /**
+     * Higher bound.
+     */
+    private final Number max;
+    /**
+     * Whether the maximum is included in the allowed range.
+     */
+    private final boolean boundIsAllowed;
+
+    /**
+     * Construct the exception.
+     *
+     * @param wrong Value that is larger than the maximum.
+     * @param max maximum.
+     */
+    public NumberIsTooLargeException(Number wrong,
+                                     Number max,
+                                     boolean boundIsAllowed) {
+        super((boundIsAllowed ?
+               LocalizedFormats.NUMBER_TOO_LARGE :
+               LocalizedFormats.NUMBER_TOO_LARGE_BOUND_EXCLUDED),
+              wrong, max);
+
+        this.max = max;
+        this.boundIsAllowed = boundIsAllowed;
+    }
+
+    /**
+     * @return {...@code true} if the maximum is included in the allowed range.
+     **/
+    public boolean getBoundIsAllowed() {
+        return boundIsAllowed;
+    }
+
+    /**
+     * @return the maximum.
+     **/
+    public Number getMax() {
+        return max;
+    }
+}

Propchange: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooLargeException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooSmallException.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooSmallException.java?rev=960602&view=auto
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooSmallException.java
 (added)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooSmallException.java
 Mon Jul  5 14:10:10 2010
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.commons.math.exception;
+
+import org.apache.commons.math.util.LocalizedFormats;
+
+/**
+ * Exception to be thrown when a number is too small.
+ *
+ * @since 2.2
+ * @version $Revision$ $Date$
+ */
+public class NumberIsTooSmallException extends MathIllegalNumberException {
+    /**
+     * Higher bound.
+     */
+    private final Number min;
+    /**
+     * Whether the maximum is included in the allowed range.
+     */
+    private final boolean boundIsAllowed;
+
+    /**
+     * Construct the exception.
+     *
+     * @param wrong Value that is smaller than the minimum.
+     * @param min minimum.
+     */
+    public NumberIsTooSmallException(Number wrong,
+                                     Number min,
+                                     boolean boundIsAllowed) {
+        super((boundIsAllowed ?
+               LocalizedFormats.NUMBER_TOO_SMALL :
+               LocalizedFormats.NUMBER_TOO_SMALL_BOUND_EXCLUDED),
+              wrong, min);
+
+        this.min = min;
+        this.boundIsAllowed = boundIsAllowed;
+    }
+
+    /**
+     * @return {...@code true} if the minimum is included in the allowed range.
+     **/
+    public boolean getBoundIsAllowed() {
+        return boundIsAllowed;
+    }
+
+    /**
+     * @return the minimum.
+     **/
+    public Number getMin() {
+        return min;
+    }
+}

Propchange: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/NumberIsTooSmallException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/LocalizedFormats.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/LocalizedFormats.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/LocalizedFormats.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/LocalizedFormats.java
 Mon Jul  5 14:10:10 2010
@@ -166,8 +166,6 @@ public enum LocalizedFormats implements 
     NOT_INCREASING_NUMBER_OF_POINTS("points {0} and {1} are not increasing 
({2} > {3})"),
     NOT_INCREASING_SEQUENCE("points {3} and {2} are not increasing ({1} > 
{0})"), /* keep */
     NOT_MULTIPLICATION_COMPATIBLE_MATRICES("{0}x{1} and {2}x{3} matrices are 
not multiplication compatible"),
-    NOT_STRICTLY_POSITIVE("{0} is not strictly positive"), /* keep */
-    NOT_POSITIVE("{0} is not positive"), /* keep */
     NOT_POSITIVE_ALPHA("alpha must be positive ({0})"),
     NOT_POSITIVE_BETA("beta must be positive ({0})"),
     NOT_POSITIVE_COLUMNDIMENSION("invalid column dimension: {0} (must be 
positive)"),
@@ -219,6 +217,10 @@ public enum LocalizedFormats implements 
     NULL_OBJECT_TRANSFORMATION("Conversion Exception in Transformation, Object 
is null"),
     NULL_REAL_FORMAT("null real format"),
     NULL_WHOLE_FORMAT("whole format can not be null"),
+    NUMBER_TOO_LARGE("{0} is larger than the maximum ({1})"), /* keep */
+    NUMBER_TOO_SMALL("{0} is smaller than the minimum ({1})"), /* keep */
+    NUMBER_TOO_LARGE_BOUND_EXCLUDED("{0} is larger than, or equal to, the 
maximum ({1})"), /* keep */
+    NUMBER_TOO_SMALL_BOUND_EXCLUDED("{0} is smaller than, or equal to, the 
minimum ({1})"), /* keep */
     NUMBER_OF_SUCCESS_LARGER_THAN_POPULATION_SIZE("number of successes ({0}) 
must be less than or equal to population size ({1})"),
     NUMERATOR_OVERFLOW_AFTER_MULTIPLY("overflow, numerator too large after 
multiply: {0}"),
     N_POINTS_GAUSS_LEGENDRE_INTEGRATOR_NOT_SUPPORTED("{0} points 
Legendre-Gauss integrator not supported, number of points must be in the 
{1}-{2} range"),

Modified: 
commons/proper/math/trunk/src/main/resources/META-INF/localization/LocalizedFormats_fr.properties
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/resources/META-INF/localization/LocalizedFormats_fr.properties?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/resources/META-INF/localization/LocalizedFormats_fr.properties
 (original)
+++ 
commons/proper/math/trunk/src/main/resources/META-INF/localization/LocalizedFormats_fr.properties
 Mon Jul  5 14:10:10 2010
@@ -138,8 +138,6 @@ NOT_ENOUGH_POINTS_IN_SPLINE_PARTITION = 
 NOT_INCREASING_NUMBER_OF_POINTS = les points {0} et {1} ne sont pas croissants 
({2} > {3})
 NOT_INCREASING_SEQUENCE = les points {3} et {2} ne sont pas croissants ({1} > 
{0})
 NOT_MULTIPLICATION_COMPATIBLE_MATRICES = les dimensions {0}x{1} et {2}x{3} 
sont incompatibles pour la multiplication matricielle
-NOT_STRICTLY_POSITIVE = {0} n''est pas strictement positif
-NOT_POSITIVE = {0} n''est pas positif
 NOT_POSITIVE_ALPHA = alpha doit \u00eatre positif ({0})
 NOT_POSITIVE_BETA = beta doit \u00eatre positif ({0})
 NOT_POSITIVE_COLUMNDIMENSION = nombre de colonnes invalide : {0} (doit 
\u00eatre positif)
@@ -191,6 +189,10 @@ NULL_NUMERATOR_FORMAT = le format du num
 NULL_OBJECT_TRANSFORMATION = Exception de conversion dans une transformation, 
l''objet est nul
 NULL_REAL_FORMAT = format r\u00e9el nul
 NULL_WHOLE_FORMAT = le format complet ne doit pas \u00eatre nul
+NUMBER_TOO_LARGE = {0} est plus grand que le maximum ({1})
+NUMBER_TOO_SMALL = {0} est plus petit que le minimum ({1})
+NUMBER_TOO_LARGE_BOUND_EXCLUDED = {0} n''est pas strictement plus grand que le 
maximum ({1})
+NUMBER_TOO_SMALL_BOUND_EXCLUDED = {0} n''est pas strictement plus petit que le 
minimum ({1})
 NUMBER_OF_SUCCESS_LARGER_THAN_POPULATION_SIZE = le nombre de succ\u00e8s doit 
\u00eatre inf\u00e9rieur 
 NUMERATOR_OVERFLOW_AFTER_MULTIPLY = d\u00e9passement de capacit\u00e9 pour le 
num\u00e9rateur apr\u00e8s multiplication : {0}
 N_POINTS_GAUSS_LEGENDRE_INTEGRATOR_NOT_SUPPORTED = l''int\u00e9grateur de 
Legendre-Gauss en {0} points n''est pas disponible, le nombre de points doit 
\u00eatre entre {1} et {2}

Modified: commons/proper/math/trunk/src/site/xdoc/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/site/xdoc/changes.xml?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- commons/proper/math/trunk/src/site/xdoc/changes.xml (original)
+++ commons/proper/math/trunk/src/site/xdoc/changes.xml Mon Jul  5 14:10:10 2010
@@ -52,6 +52,9 @@ The <action> type attribute can be add,u
     If the output is not quite correct, check for invisible trailing spaces!
      -->
     <release version="2.2" date="TBD" description="TBD">
+      <action dev="erans" type="fix" issue="MATH-382">
+        Fixed bug in precondition check (method "setMicrosphereElements").
+      </action>
       <action dev="erans" type="add" issue="MATH-379">
         Created "MultidimensionalCounter" class.
       </action>

Modified: 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/interpolation/LinearInterpolatorTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/interpolation/LinearInterpolatorTest.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/interpolation/LinearInterpolatorTest.java
 (original)
+++ 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/interpolation/LinearInterpolatorTest.java
 Mon Jul  5 14:10:10 2010
@@ -17,6 +17,9 @@
 package org.apache.commons.math.analysis.interpolation;
 
 import org.apache.commons.math.MathException;
+import org.apache.commons.math.exception.NonMonotonousSequenceException;
+import org.apache.commons.math.exception.DimensionMismatchException;
+import org.apache.commons.math.exception.NumberIsTooSmallException;
 import org.apache.commons.math.TestUtils;
 import org.apache.commons.math.analysis.UnivariateRealFunction;
 import org.apache.commons.math.analysis.polynomials.PolynomialFunction;
@@ -109,7 +112,7 @@ public class LinearInterpolatorTest {
             double yval[] = { 0.0, 1.0, 2.0 };
             i.interpolate(xval, yval);
             Assert.fail("Failed to detect data set array with different 
sizes.");
-        } catch (IllegalArgumentException iae) {
+        } catch (DimensionMismatchException iae) {
             // Expected.
         }
         // X values not sorted.
@@ -118,7 +121,16 @@ public class LinearInterpolatorTest {
             double yval[] = { 0.0, 1.0, 2.0 };
             i.interpolate(xval, yval);
             Assert.fail("Failed to detect unsorted arguments.");
-        } catch (IllegalArgumentException iae) {
+        } catch (NonMonotonousSequenceException iae) {
+            // Expected.
+        }
+        // Not enough data to interpolate.
+        try {
+            double xval[] = { 0.0 };
+            double yval[] = { 0.0 };
+            i.interpolate(xval, yval);
+            Assert.fail("Failed to detect unsorted arguments.");
+        } catch (NumberIsTooSmallException iae) {
             // Expected.
         }
     }

Modified: 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/interpolation/SplineInterpolatorTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/interpolation/SplineInterpolatorTest.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/interpolation/SplineInterpolatorTest.java
 (original)
+++ 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/interpolation/SplineInterpolatorTest.java
 Mon Jul  5 14:10:10 2010
@@ -16,20 +16,23 @@
  */
 package org.apache.commons.math.analysis.interpolation;
 
-import junit.framework.TestCase;
-
 import org.apache.commons.math.MathException;
+import org.apache.commons.math.exception.NonMonotonousSequenceException;
+import org.apache.commons.math.exception.DimensionMismatchException;
+import org.apache.commons.math.exception.NumberIsTooSmallException;
 import org.apache.commons.math.TestUtils;
 import org.apache.commons.math.analysis.UnivariateRealFunction;
 import org.apache.commons.math.analysis.polynomials.PolynomialFunction;
 import org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test the SplineInterpolator.
  *
  * @version $Revision$ $Date$
  */
-public class SplineInterpolatorTest extends TestCase {
+public class SplineInterpolatorTest {
 
     /** error tolerance for spline interpolator value at knot points */
     protected double knotTolerance = 1E-12;
@@ -40,10 +43,7 @@ public class SplineInterpolatorTest exte
     /** error tolerance for interpolated values -- high value is from sin test 
*/
     protected double interpolationTolerance = 1E-2;
 
-    public SplineInterpolatorTest(String name) {
-        super(name);
-    }
-
+    @Test
     public void testInterpolateLinearDegenerateTwoSegment()
         throws Exception {
         double x[] = { 0.0, 0.5, 1.0 };
@@ -61,11 +61,12 @@ public class SplineInterpolatorTest exte
         TestUtils.assertEquals(polynomials[1].getCoefficients(), target, 
coefficientTolerance);
 
         // Check interpolation
-        assertEquals(0.0,f.value(0.0), interpolationTolerance);
-        assertEquals(0.4,f.value(0.4), interpolationTolerance);
-        assertEquals(1.0,f.value(1.0), interpolationTolerance);
+        Assert.assertEquals(0.0,f.value(0.0), interpolationTolerance);
+        Assert.assertEquals(0.4,f.value(0.4), interpolationTolerance);
+        Assert.assertEquals(1.0,f.value(1.0), interpolationTolerance);
     }
 
+    @Test
     public void testInterpolateLinearDegenerateThreeSegment()
         throws Exception {
         double x[] = { 0.0, 0.5, 1.0, 1.5 };
@@ -84,11 +85,12 @@ public class SplineInterpolatorTest exte
         TestUtils.assertEquals(polynomials[2].getCoefficients(), target, 
coefficientTolerance);
 
         // Check interpolation
-        assertEquals(0,f.value(0), interpolationTolerance);
-        assertEquals(1.4,f.value(1.4), interpolationTolerance);
-        assertEquals(1.5,f.value(1.5), interpolationTolerance);
+        Assert.assertEquals(0,f.value(0), interpolationTolerance);
+        Assert.assertEquals(1.4,f.value(1.4), interpolationTolerance);
+        Assert.assertEquals(1.5,f.value(1.5), interpolationTolerance);
     }
 
+    @Test
     public void testInterpolateLinear() throws Exception {
         double x[] = { 0.0, 0.5, 1.0 };
         double y[] = { 0.0, 0.5, 0.0 };
@@ -105,6 +107,7 @@ public class SplineInterpolatorTest exte
         TestUtils.assertEquals(polynomials[1].getCoefficients(), target, 
coefficientTolerance);
     }
 
+    @Test
     public void testInterpolateSin() throws Exception {
         double x[] =
             {
@@ -151,11 +154,11 @@ public class SplineInterpolatorTest exte
         TestUtils.assertEquals(polynomials[7].getCoefficients(), target, 
coefficientTolerance);
 
         //Check interpolation
-        assertEquals(Math.sqrt(2d) / 
2d,f.value(Math.PI/4d),interpolationTolerance);
-        assertEquals(Math.sqrt(2d) / 
2d,f.value(3d*Math.PI/4d),interpolationTolerance);
+        Assert.assertEquals(Math.sqrt(2d) / 
2d,f.value(Math.PI/4d),interpolationTolerance);
+        Assert.assertEquals(Math.sqrt(2d) / 
2d,f.value(3d*Math.PI/4d),interpolationTolerance);
     }
 
-
+    @Test
     public void testIllegalArguments() throws MathException {
         // Data set arrays of different size.
         UnivariateRealInterpolator i = new SplineInterpolator();
@@ -163,16 +166,27 @@ public class SplineInterpolatorTest exte
             double xval[] = { 0.0, 1.0 };
             double yval[] = { 0.0, 1.0, 2.0 };
             i.interpolate(xval, yval);
-            fail("Failed to detect data set array with different sizes.");
-        } catch (IllegalArgumentException iae) {
+            Assert.fail("Failed to detect data set array with different 
sizes.");
+        } catch (DimensionMismatchException iae) {
+            // Expected.
         }
         // X values not sorted.
         try {
             double xval[] = { 0.0, 1.0, 0.5 };
             double yval[] = { 0.0, 1.0, 2.0 };
             i.interpolate(xval, yval);
-            fail("Failed to detect unsorted arguments.");
-        } catch (IllegalArgumentException iae) {
+            Assert.fail("Failed to detect unsorted arguments.");
+        } catch (NonMonotonousSequenceException iae) {
+            // Expected.
+        }
+        // Not enough data to interpolate.
+        try {
+            double xval[] = { 0.0, 1.0 };
+            double yval[] = { 0.0, 1.0 };
+            i.interpolate(xval, yval);
+            Assert.fail("Failed to detect unsorted arguments.");
+        } catch (NumberIsTooSmallException iae) {
+            // Expected.
         }
     }
 
@@ -182,7 +196,7 @@ public class SplineInterpolatorTest exte
     protected void verifyInterpolation(UnivariateRealFunction f, double x[], 
double y[])
         throws Exception{
         for (int i = 0; i < x.length; i++) {
-            assertEquals(f.value(x[i]), y[i], knotTolerance);
+            Assert.assertEquals(f.value(x[i]), y[i], knotTolerance);
         }
     }
 
@@ -195,11 +209,11 @@ public class SplineInterpolatorTest exte
         PolynomialFunction polynomials[] = f.getPolynomials();
         for (int i = 1; i < x.length - 2; i++) {
             // evaluate polynomials and derivatives at x[i + 1]
-            assertEquals(polynomials[i].value(x[i +1] - x[i]), polynomials[i + 
1].value(0), 0.1);
-            assertEquals(polynomials[i].derivative().value(x[i +1] - x[i]),
-                    polynomials[i + 1].derivative().value(0), 0.5);
-            
assertEquals(polynomials[i].polynomialDerivative().derivative().value(x[i +1] - 
x[i]),
-                    polynomials[i + 
1].polynomialDerivative().derivative().value(0), 0.5);
+            Assert.assertEquals(polynomials[i].value(x[i +1] - x[i]), 
polynomials[i + 1].value(0), 0.1);
+            Assert.assertEquals(polynomials[i].derivative().value(x[i +1] - 
x[i]),
+                                polynomials[i + 1].derivative().value(0), 0.5);
+            
Assert.assertEquals(polynomials[i].polynomialDerivative().derivative().value(x[i
 +1] - x[i]),
+                                polynomials[i + 
1].polynomialDerivative().derivative().value(0), 0.5);
         }
     }
 

Modified: 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NotPositiveExceptionTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NotPositiveExceptionTest.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NotPositiveExceptionTest.java
 (original)
+++ 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NotPositiveExceptionTest.java
 Mon Jul  5 14:10:10 2010
@@ -29,5 +29,7 @@ public class NotPositiveExceptionTest {
     public void testAccessors() {
         final NotPositiveException e = new NotPositiveException(-1);
         Assert.assertEquals(-1, e.getArgument());
+        Assert.assertEquals(0, e.getMin());
+        Assert.assertTrue(e.getBoundIsAllowed());
     }
 }

Modified: 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NotStrictlyPositiveExceptionTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NotStrictlyPositiveExceptionTest.java?rev=960602&r1=960601&r2=960602&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NotStrictlyPositiveExceptionTest.java
 (original)
+++ 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NotStrictlyPositiveExceptionTest.java
 Mon Jul  5 14:10:10 2010
@@ -29,5 +29,7 @@ public class NotStrictlyPositiveExceptio
     public void testAccessors() {
         final NotStrictlyPositiveException e = new 
NotStrictlyPositiveException(0);
         Assert.assertEquals(0, e.getArgument());
+        Assert.assertEquals(0, e.getMin());
+        Assert.assertFalse(e.getBoundIsAllowed());
     }
 }

Added: 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooLargeExceptionTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooLargeExceptionTest.java?rev=960602&view=auto
==============================================================================
--- 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooLargeExceptionTest.java
 (added)
+++ 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooLargeExceptionTest.java
 Mon Jul  5 14:10:10 2010
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.commons.math.exception;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test for {...@link NumberIsTooLargeException}.
+ * 
+ * @version $Revision$ $Date$ 
+ */
+public class NumberIsTooLargeExceptionTest {
+    @Test
+    public void testAccessors() {
+        final NumberIsTooLargeException e = new NumberIsTooLargeException(1, 
0, true);
+        Assert.assertEquals(1, e.getArgument());
+        Assert.assertEquals(0, e.getMax());
+        Assert.assertTrue(e.getBoundIsAllowed());
+    }
+}

Propchange: 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooLargeExceptionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooSmallExceptionTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooSmallExceptionTest.java?rev=960602&view=auto
==============================================================================
--- 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooSmallExceptionTest.java
 (added)
+++ 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooSmallExceptionTest.java
 Mon Jul  5 14:10:10 2010
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.commons.math.exception;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test for {...@link NumberIsTooSmallException}.
+ * 
+ * @version $Revision$ $Date$ 
+ */
+public class NumberIsTooSmallExceptionTest {
+    @Test
+    public void testAccessors() {
+        final NumberIsTooSmallException e = new NumberIsTooSmallException(0, 
0, false);
+        Assert.assertEquals(0, e.getArgument());
+        Assert.assertEquals(0, e.getMin());
+        Assert.assertFalse(e.getBoundIsAllowed());
+    }
+}

Propchange: 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/exception/NumberIsTooSmallExceptionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to