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.distribution.continuous;
23
24 import org.hipparchus.util.Precision;
25 import org.junit.jupiter.api.Test;
26
27 import static org.junit.jupiter.api.Assertions.assertEquals;
28 import static org.junit.jupiter.api.Assertions.assertTrue;
29
30
31
32
33 public class NakagamiDistributionTest extends RealDistributionAbstractTest {
34
35 @Test
36 void testParameters() {
37 NakagamiDistribution d = makeDistribution();
38 assertEquals(0.5, d.getShape(), Precision.EPSILON);
39 assertEquals(1, d.getScale(), Precision.EPSILON);
40 }
41
42 @Test
43 void testSupport() {
44 NakagamiDistribution d = makeDistribution();
45 assertEquals(0, d.getSupportLowerBound(), Precision.EPSILON);
46 assertTrue(Double.isInfinite(d.getSupportUpperBound()));
47 assertTrue(d.isSupportConnected());
48 }
49
50 @Override
51 public NakagamiDistribution makeDistribution() {
52 return new NakagamiDistribution(0.5, 1);
53 }
54
55 @Override
56 public double[] makeCumulativeTestPoints() {
57 return new double[] {
58 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8, 2
59 };
60 }
61
62 @Override
63 public double[] makeDensityTestValues() {
64 return new double[] {
65 0.0000000, 0.7820854, 0.7365403, 0.6664492, 0.5793831, 0.4839414,
66 0.3883721, 0.2994549, 0.2218417, 0.1579003, 0.1079819
67 };
68 }
69
70 @Override
71 public double[] makeCumulativeTestValues() {
72 return new double[] {
73 0.0000000, 0.1585194, 0.3108435, 0.4514938, 0.5762892, 0.6826895,
74 0.7698607, 0.8384867, 0.8904014, 0.9281394, 0.9544997
75 };
76 }
77
78 }
79