001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018 package org.apache.commons.math;
019
020 import java.util.Locale;
021
022 import junit.framework.TestCase;
023
024 /**
025 * @version $Revision: 758051 $ $Date: 2009-03-24 18:10:16 -0400 (Tue, 24 Mar 2009) $
026 */
027 public class FunctionEvaluationExceptionTest extends TestCase {
028
029 public void testConstructor(){
030 FunctionEvaluationException ex = new FunctionEvaluationException(0.0);
031 assertNull(ex.getCause());
032 assertNotNull(ex.getMessage());
033 assertTrue(ex.getMessage().indexOf("0") > 0);
034 assertEquals(0.0, ex.getArgument()[0], 0);
035 }
036
037 public void testConstructorArray(){
038 FunctionEvaluationException ex =
039 new FunctionEvaluationException(new double[] { 0, 1, 2 });
040 assertNull(ex.getCause());
041 assertNotNull(ex.getMessage());
042 assertTrue(ex.getMessage().indexOf("0") > 0);
043 assertEquals(0.0, ex.getArgument()[0], 0);
044 assertEquals(1.0, ex.getArgument()[1], 0);
045 assertEquals(2.0, ex.getArgument()[2], 0);
046 }
047
048 public void testConstructorPatternArguments(){
049 String pattern = "evaluation failed for argument = {0}";
050 Object[] arguments = { Double.valueOf(0.0) };
051 FunctionEvaluationException ex = new FunctionEvaluationException(0.0, pattern, arguments);
052 assertNull(ex.getCause());
053 assertEquals(pattern, ex.getPattern());
054 assertEquals(arguments.length, ex.getArguments().length);
055 for (int i = 0; i < arguments.length; ++i) {
056 assertEquals(arguments[i], ex.getArguments()[i]);
057 }
058 assertFalse(pattern.equals(ex.getMessage()));
059 assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
060 }
061
062 public void testConstructorArrayPatternArguments(){
063 String pattern = "evaluation failed for argument = {0}";
064 Object[] arguments = { Double.valueOf(0.0) };
065 FunctionEvaluationException ex =
066 new FunctionEvaluationException(new double[] { 0, 1, 2 }, pattern, arguments);
067 assertNull(ex.getCause());
068 assertEquals(pattern, ex.getPattern());
069 assertEquals(arguments.length, ex.getArguments().length);
070 for (int i = 0; i < arguments.length; ++i) {
071 assertEquals(arguments[i], ex.getArguments()[i]);
072 }
073 assertFalse(pattern.equals(ex.getMessage()));
074 assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
075 assertEquals(0.0, ex.getArgument()[0], 0);
076 assertEquals(1.0, ex.getArgument()[1], 0);
077 assertEquals(2.0, ex.getArgument()[2], 0);
078 }
079
080 public void testConstructorPatternArgumentsCause(){
081 String pattern = "evaluation failed for argument = {0}";
082 Object[] arguments = { Double.valueOf(0.0) };
083 String inMsg = "inner message";
084 Exception cause = new Exception(inMsg);
085 FunctionEvaluationException ex = new FunctionEvaluationException(cause, 0.0, pattern, arguments);
086 assertEquals(cause, ex.getCause());
087 assertEquals(pattern, ex.getPattern());
088 assertEquals(arguments.length, ex.getArguments().length);
089 for (int i = 0; i < arguments.length; ++i) {
090 assertEquals(arguments[i], ex.getArguments()[i]);
091 }
092 assertFalse(pattern.equals(ex.getMessage()));
093 assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
094 }
095
096 public void testConstructorArrayPatternArgumentsCause(){
097 String pattern = "evaluation failed for argument = {0}";
098 Object[] arguments = { Double.valueOf(0.0) };
099 String inMsg = "inner message";
100 Exception cause = new Exception(inMsg);
101 FunctionEvaluationException ex =
102 new FunctionEvaluationException(cause, new double[] { 0, 1, 2 }, pattern, arguments);
103 assertEquals(cause, ex.getCause());
104 assertEquals(pattern, ex.getPattern());
105 assertEquals(arguments.length, ex.getArguments().length);
106 for (int i = 0; i < arguments.length; ++i) {
107 assertEquals(arguments[i], ex.getArguments()[i]);
108 }
109 assertFalse(pattern.equals(ex.getMessage()));
110 assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
111 assertEquals(0.0, ex.getArgument()[0], 0);
112 assertEquals(1.0, ex.getArgument()[1], 0);
113 assertEquals(2.0, ex.getArgument()[2], 0);
114 }
115
116 public void testConstructorArgumentCause(){
117 String inMsg = "inner message";
118 Exception cause = new Exception(inMsg);
119 FunctionEvaluationException ex = new FunctionEvaluationException(cause, 0.0);
120 assertEquals(cause, ex.getCause());
121 assertTrue(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
122 }
123
124 public void testConstructorArrayArgumentCause(){
125 String inMsg = "inner message";
126 Exception cause = new Exception(inMsg);
127 FunctionEvaluationException ex =
128 new FunctionEvaluationException(cause, new double[] { 0, 1, 2 });
129 assertEquals(cause, ex.getCause());
130 assertTrue(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
131 assertEquals(0.0, ex.getArgument()[0], 0);
132 assertEquals(1.0, ex.getArgument()[1], 0);
133 assertEquals(2.0, ex.getArgument()[2], 0);
134 }
135
136 }