01: package JSci.tests;
02:
03: import java.util.Map;
04: import java.util.HashMap;
05: import junit.framework.*;
06: import JSci.maths.*;
07:
08: /**
09: * Testcase for Engineer methods.
10: * @author Mark Hale
11: */
12: public class EngineerTest extends TestCase {
13: private static final int N = 127;
14: private double[] signal = FourierTest.gaussian(N, 1.0, 8.0);
15:
16: public static void main(String arg[]) {
17: junit.textui.TestRunner.run(EngineerTest.class);
18: }
19:
20: public EngineerTest(String name) {
21: super (name);
22: }
23:
24: protected void setUp() throws Exception {
25: JSci.GlobalSettings.ZERO_TOL = 1.0e-10;
26: }
27:
28: public void testResample() {
29: double[] resample = EngineerMath.resample(signal, N);
30: for (int i = 0; i < N; i++)
31: assertEquals(signal[i], resample[i],
32: JSci.GlobalSettings.ZERO_TOL);
33:
34: resample = EngineerMath.resample(signal, (N + 1) / 2);
35: for (int i = 0; i < (N + 1) / 2; i++)
36: assertEquals(signal[2 * i], resample[i],
37: JSci.GlobalSettings.ZERO_TOL);
38:
39: resample = EngineerMath.resample(signal, 2 * N - 1);
40: for (int i = 0; i < N; i++)
41: assertEquals(signal[i], resample[2 * i],
42: JSci.GlobalSettings.ZERO_TOL);
43: }
44: }
|