1 16 package org.apache.commons.math.util; 17 18 import org.apache.commons.math.stat.StatUtils; 19 20 import junit.framework.TestCase; 21 22 27 public abstract class DoubleArrayAbstractTest extends TestCase { 28 29 protected DoubleArray da = null; 30 31 protected DoubleArray ra = null; 33 34 public DoubleArrayAbstractTest(String name) { 35 super(name); 36 } 37 38 public void testAdd1000() { 39 40 for (int i = 0; i < 1000; i++) { 41 da.addElement(i); 42 } 43 44 assertEquals( 45 "Number of elements should be equal to 1000 after adding 1000 values", 46 1000, 47 da.getNumElements()); 48 49 assertEquals( 50 "The element at the 56th index should be 56", 51 56.0, 52 da.getElement(56), 53 Double.MIN_VALUE); 54 55 } 56 57 public void testGetValues() { 58 double[] controlArray = { 2.0, 4.0, 6.0 }; 59 60 da.addElement(2.0); 61 da.addElement(4.0); 62 da.addElement(6.0); 63 double[] testArray = da.getElements(); 64 65 for (int i = 0; i < da.getNumElements(); i++) { 66 assertEquals( 67 "The testArray values should equal the controlArray values, index i: " 68 + i 69 + " does not match", 70 testArray[i], 71 controlArray[i], 72 Double.MIN_VALUE); 73 } 74 75 } 76 77 public void testAddElementRolling() { 78 ra.addElement(0.5); 79 ra.addElement(1.0); 80 ra.addElement(1.0); 81 ra.addElement(1.0); 82 ra.addElement(1.0); 83 ra.addElement(1.0); 84 ra.addElementRolling(2.0); 85 86 assertEquals( 87 "There should be 6 elements in the eda", 88 6, 89 ra.getNumElements()); 90 assertEquals( 91 "The max element should be 2.0", 92 2.0, 93 StatUtils.max(ra.getElements()), 94 Double.MIN_VALUE); 95 assertEquals( 96 "The min element should be 1.0", 97 1.0, 98 StatUtils.min(ra.getElements()), 99 Double.MIN_VALUE); 100 101 for (int i = 0; i < 1024; i++) { 102 ra.addElementRolling(i); 103 } 104 105 assertEquals( 106 "We just inserted 1024 rolling elements, num elements should still be 6", 107 6, 108 ra.getNumElements()); 109 } 110 111 public void testMinMax() { 112 da.addElement(2.0); 113 da.addElement(22.0); 114 da.addElement(-2.0); 115 da.addElement(21.0); 116 da.addElement(22.0); 117 da.addElement(42.0); 118 da.addElement(62.0); 119 da.addElement(22.0); 120 da.addElement(122.0); 121 da.addElement(1212.0); 122 123 assertEquals("Min should be -2.0", -2.0, StatUtils.min(da.getElements()), Double.MIN_VALUE); 124 assertEquals( 125 "Max should be 1212.0", 126 1212.0, 127 StatUtils.max(da.getElements()), 128 Double.MIN_VALUE); 129 } 130 131 } 132 | Popular Tags |