1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.math4.legacy.analysis.integration.gauss;
18
19 import org.apache.commons.math4.legacy.analysis.UnivariateFunction;
20 import org.apache.commons.math4.legacy.analysis.function.Constant;
21 import org.apache.commons.math4.legacy.core.Pair;
22 import org.junit.Test;
23 import org.junit.Assert;
24
25
26
27
28
29 public class GaussIntegratorTest {
30 @Test
31 public void testGetWeights() {
32 final double[] points = { 0, 1.2, 3.4 };
33 final double[] weights = { 9.8, 7.6, 5.4 };
34
35 final GaussIntegrator integrator
36 = new GaussIntegrator(new Pair<>(points, weights));
37
38 Assert.assertEquals(weights.length, integrator.getNumberOfPoints());
39
40 for (int i = 0; i < integrator.getNumberOfPoints(); i++) {
41 Assert.assertEquals(weights[i], integrator.getWeight(i), 0d);
42 }
43 }
44
45 @Test
46 public void testGetPoints() {
47 final double[] points = { 0, 1.2, 3.4 };
48 final double[] weights = { 9.8, 7.6, 5.4 };
49
50 final GaussIntegrator integrator
51 = new GaussIntegrator(new Pair<>(points, weights));
52
53 Assert.assertEquals(points.length, integrator.getNumberOfPoints());
54
55 for (int i = 0; i < integrator.getNumberOfPoints(); i++) {
56 Assert.assertEquals(points[i], integrator.getPoint(i), 0d);
57 }
58 }
59
60 @Test
61 public void testIntegrate() {
62 final double[] points = { 0, 1, 2, 3, 4, 5 };
63 final double[] weights = { 1, 1, 1, 1, 1, 1 };
64
65 final GaussIntegrator integrator
66 = new GaussIntegrator(new Pair<>(points, weights));
67
68 final double val = 123.456;
69 final UnivariateFunction c = new Constant(val);
70
71 final double s = integrator.integrate(c);
72 Assert.assertEquals(points.length * val, s, 0d);
73 }
74 }