1 16 17 package org.apache.commons.math.complex; 18 19 import junit.framework.TestCase; 20 21 24 public class ComplexTest extends TestCase { 25 26 public void testConstructor() { 27 Complex z = new Complex(3.0, 4.0); 28 assertEquals(3.0, z.getReal(), 1.0e-5); 29 assertEquals(4.0, z.getImaginary(), 1.0e-5); 30 } 31 32 public void testConstructorNaN() { 33 Complex z = new Complex(3.0, Double.NaN); 34 assertTrue(z.isNaN()); 35 36 z = new Complex(Double.NaN, 4.0); 37 assertTrue(z.isNaN()); 38 39 z = new Complex(3.0, 4.0); 40 assertFalse(z.isNaN()); 41 } 42 43 public void testAbs() { 44 Complex z = new Complex(3.0, 4.0); 45 assertEquals(5.0, z.abs(), 1.0e-5); 46 } 47 48 public void testAbsNaN() { 49 assertTrue(Double.isNaN(Complex.NaN.abs())); 50 } 51 52 public void testAdd() { 53 Complex x = new Complex(3.0, 4.0); 54 Complex y = new Complex(5.0, 6.0); 55 Complex z = x.add(y); 56 assertEquals(8.0, z.getReal(), 1.0e-5); 57 assertEquals(10.0, z.getImaginary(), 1.0e-5); 58 } 59 60 public void testAddNaN() { 61 Complex x = new Complex(3.0, 4.0); 62 Complex z = x.add(Complex.NaN); 63 assertTrue(z.isNaN()); 64 } 65 66 public void testConjugate() { 67 Complex x = new Complex(3.0, 4.0); 68 Complex z = x.conjugate(); 69 assertEquals(3.0, z.getReal(), 1.0e-5); 70 assertEquals(-4.0, z.getImaginary(), 1.0e-5); 71 } 72 73 public void testConjugateNaN() { 74 Complex z = Complex.NaN.conjugate(); 75 assertTrue(z.isNaN()); 76 } 77 78 public void testDivide() { 79 Complex x = new Complex(3.0, 4.0); 80 Complex y = new Complex(5.0, 6.0); 81 Complex z = x.divide(y); 82 assertEquals(39.0 / 61.0, z.getReal(), 1.0e-5); 83 assertEquals(2.0 / 61.0, z.getImaginary(), 1.0e-5); 84 } 85 86 public void testDivideNaN() { 87 Complex x = new Complex(3.0, 4.0); 88 Complex z = x.divide(Complex.NaN); 89 assertTrue(z.isNaN()); 90 } 91 92 public void testMultiply() { 93 Complex x = new Complex(3.0, 4.0); 94 Complex y = new Complex(5.0, 6.0); 95 Complex z = x.multiply(y); 96 assertEquals(-9.0, z.getReal(), 1.0e-5); 97 assertEquals(38.0, z.getImaginary(), 1.0e-5); 98 } 99 100 public void testMultiplyNaN() { 101 Complex x = new Complex(3.0, 4.0); 102 Complex z = x.multiply(Complex.NaN); 103 assertTrue(z.isNaN()); 104 } 105 106 public void testNegate() { 107 Complex x = new Complex(3.0, 4.0); 108 Complex z = x.negate(); 109 assertEquals(-3.0, z.getReal(), 1.0e-5); 110 assertEquals(-4.0, z.getImaginary(), 1.0e-5); 111 } 112 113 public void testNegateNaN() { 114 Complex z = Complex.NaN.negate(); 115 assertTrue(z.isNaN()); 116 } 117 118 public void testSubtract() { 119 Complex x = new Complex(3.0, 4.0); 120 Complex y = new Complex(5.0, 6.0); 121 Complex z = x.subtract(y); 122 assertEquals(-2.0, z.getReal(), 1.0e-5); 123 assertEquals(-2.0, z.getImaginary(), 1.0e-5); 124 } 125 126 public void testSubtractNaN() { 127 Complex x = new Complex(3.0, 4.0); 128 Complex z = x.subtract(Complex.NaN); 129 assertTrue(z.isNaN()); 130 } 131 132 public void testEqualsNull() { 133 Complex x = new Complex(3.0, 4.0); 134 assertFalse(x.equals(null)); 135 } 136 137 public void testEqualsClass() { 138 Complex x = new Complex(3.0, 4.0); 139 assertFalse(x.equals(this)); 140 } 141 142 public void testEqualsSame() { 143 Complex x = new Complex(3.0, 4.0); 144 assertTrue(x.equals(x)); 145 } 146 147 public void testEqualsTrue() { 148 Complex x = new Complex(3.0, 4.0); 149 Complex y = new Complex(3.0, 4.0); 150 assertTrue(x.equals(y)); 151 } 152 153 public void testEqualsRealDifference() { 154 Complex x = new Complex(0.0, 0.0); 155 Complex y = new Complex(0.0 + Double.MIN_VALUE, 0.0); 156 assertFalse(x.equals(y)); 157 } 158 159 public void testEqualsImaginaryDifference() { 160 Complex x = new Complex(0.0, 0.0); 161 Complex y = new Complex(0.0, 0.0 + Double.MIN_VALUE); 162 assertFalse(x.equals(y)); 163 } 164 } 165 | Popular Tags |