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