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 }