KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > math > complex > ComplexUtilsTest


1 /*
2  * Copyright 2003-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.commons.math.complex;
18
19 import org.apache.commons.math.TestUtils;
20
21 import junit.framework.TestCase;
22
23 /**
24  * @version $Revision$ $Date: 2005-02-26 05:11:52 -0800 (Sat, 26 Feb 2005) $
25  */

26 public class ComplexUtilsTest extends TestCase {
27     
28     public void testAcos() {
29         Complex z = new Complex(3, 4);
30         Complex expected = new Complex(0.936812, -2.30551);
31         TestUtils.assertEquals(expected, ComplexUtils.acos(z), 1.0e-5);
32     }
33     
34     public void testAcosNaN() {
35         assertTrue(ComplexUtils.acos(Complex.NaN).isNaN());
36     }
37     
38     public void testAsin() {
39         Complex z = new Complex(3, 4);
40         Complex expected = new Complex(0.633984, 2.30551);
41         TestUtils.assertEquals(expected, ComplexUtils.asin(z), 1.0e-5);
42     }
43     
44     public void testAsinNaN() {
45         assertTrue(ComplexUtils.asin(Complex.NaN).isNaN());
46     }
47     
48     public void testAtan() {
49         Complex z = new Complex(3, 4);
50         Complex expected = new Complex(1.44831, 0.158997);
51         TestUtils.assertEquals(expected, ComplexUtils.atan(z), 1.0e-5);
52     }
53     
54     public void testAtanNaN() {
55         assertTrue(ComplexUtils.atan(Complex.NaN).isNaN());
56     }
57     
58     public void testCos() {
59         Complex z = new Complex(3, 4);
60         Complex expected = new Complex(-27.03495, -3.851153);
61         TestUtils.assertEquals(expected, ComplexUtils.cos(z), 1.0e-5);
62     }
63     
64     public void testCosh() {
65         Complex z = new Complex(3, 4);
66         Complex expected = new Complex(-6.58066, -7.58155);
67         TestUtils.assertEquals(expected, ComplexUtils.cosh(z), 1.0e-5);
68     }
69     
70     public void testCoshNaN() {
71         assertTrue(ComplexUtils.cosh(Complex.NaN).isNaN());
72     }
73     
74     public void testCosNaN() {
75         assertTrue(ComplexUtils.cos(Complex.NaN).isNaN());
76     }
77     
78     public void testExp() {
79         Complex z = new Complex(3, 4);
80         Complex expected = new Complex(-13.12878, -15.20078);
81         TestUtils.assertEquals(expected, ComplexUtils.exp(z), 1.0e-5);
82     }
83     
84     public void testExpNaN() {
85         assertTrue(ComplexUtils.exp(Complex.NaN).isNaN());
86     }
87     
88     public void testLog() {
89         Complex z = new Complex(3, 4);
90         Complex expected = new Complex(1.60944, 0.927295);
91         TestUtils.assertEquals(expected, ComplexUtils.log(z), 1.0e-5);
92     }
93     
94     public void testLogNaN() {
95         assertTrue(ComplexUtils.log(Complex.NaN).isNaN());
96     }
97     
98     public void testPow() {
99         Complex x = new Complex(3, 4);
100         Complex y = new Complex(5, 6);
101         Complex expected = new Complex(-1.860893, 11.83677);
102         TestUtils.assertEquals(expected, ComplexUtils.pow(x, y), 1.0e-5);
103     }
104     
105     public void testPowNaNBase() {
106         Complex x = new Complex(3, 4);
107         assertTrue(ComplexUtils.pow(Complex.NaN, x).isNaN());
108     }
109     
110     public void testPowNaNExponent() {
111         Complex x = new Complex(3, 4);
112         assertTrue(ComplexUtils.pow(x, Complex.NaN).isNaN());
113     }
114     
115     public void testSin() {
116         Complex z = new Complex(3, 4);
117         Complex expected = new Complex(3.853738, -27.01681);
118         TestUtils.assertEquals(expected, ComplexUtils.sin(z), 1.0e-5);
119     }
120     
121     public void testSinh() {
122         Complex z = new Complex(3, 4);
123         Complex expected = new Complex(-6.54812, -7.61923);
124         TestUtils.assertEquals(expected, ComplexUtils.sinh(z), 1.0e-5);
125     }
126     
127     public void testSinhNaN() {
128         assertTrue(ComplexUtils.sinh(Complex.NaN).isNaN());
129     }
130     
131     public void testSinNaN() {
132         assertTrue(ComplexUtils.sin(Complex.NaN).isNaN());
133     }
134     
135     public void testSqrtRealPositive() {
136         Complex z = new Complex(3, 4);
137         Complex expected = new Complex(2, 1);
138         TestUtils.assertEquals(expected, ComplexUtils.sqrt(z), 1.0e-5);
139     }
140     
141     public void testSqrtRealZero() {
142         Complex z = new Complex(0.0, 4);
143         Complex expected = new Complex(1.41421, 1.41421);
144         TestUtils.assertEquals(expected, ComplexUtils.sqrt(z), 1.0e-5);
145     }
146     
147     public void testSqrtRealNegative() {
148         Complex z = new Complex(-3.0, 4);
149         Complex expected = new Complex(1, 2);
150         TestUtils.assertEquals(expected, ComplexUtils.sqrt(z), 1.0e-5);
151     }
152     
153     public void testSqrtImaginaryZero() {
154         Complex z = new Complex(-3.0, 0.0);
155         Complex expected = new Complex(0.0, 1.73205);
156         TestUtils.assertEquals(expected, ComplexUtils.sqrt(z), 1.0e-5);
157     }
158     
159     public void testSqrtImaginaryNegative() {
160         Complex z = new Complex(-3.0, -4.0);
161         Complex expected = new Complex(1.0, -2.0);
162         TestUtils.assertEquals(expected, ComplexUtils.sqrt(z), 1.0e-5);
163     }
164
165     public void testSqrt1z() {
166         Complex z = new Complex(3, 4);
167         Complex expected = new Complex(4.08033, -2.94094);
168         TestUtils.assertEquals(expected, ComplexUtils.sqrt1z(z), 1.0e-5);
169     }
170     
171     public void testSqrt1zNaN() {
172         assertTrue(ComplexUtils.sqrt1z(Complex.NaN).isNaN());
173     }
174     
175     public void testSqrtNaN() {
176         assertTrue(ComplexUtils.sqrt(Complex.NaN).isNaN());
177     }
178     
179     public void testTan() {
180         Complex z = new Complex(3, 4);
181         Complex expected = new Complex(-0.000187346, 0.999356);
182         TestUtils.assertEquals(expected, ComplexUtils.tan(z), 1.0e-5);
183     }
184     
185     public void testTanh() {
186         Complex z = new Complex(3, 4);
187         Complex expected = new Complex(1.00071, 0.00490826);
188         TestUtils.assertEquals(expected, ComplexUtils.tanh(z), 1.0e-5);
189     }
190     
191     public void testTanhNaN() {
192         assertTrue(ComplexUtils.tanh(Complex.NaN).isNaN());
193     }
194     
195     public void testTanNaN() {
196         assertTrue(ComplexUtils.tan(Complex.NaN).isNaN());
197     }
198 }
199
Popular Tags