1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.math.stat.regression;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertTrue;
21
22 import org.junit.Before;
23 import org.junit.Test;
24
25
26 public abstract class MultipleLinearRegressionAbstractTest {
27
28 protected MultipleLinearRegression regression;
29
30 @Before
31 public void setUp(){
32 regression = createRegression();
33 }
34
35 protected abstract MultipleLinearRegression createRegression();
36
37 protected abstract int getNumberOfRegressors();
38
39 protected abstract int getSampleSize();
40
41 @Test
42 public void canEstimateRegressionParameters(){
43 double[] beta = regression.estimateRegressionParameters();
44 assertEquals(getNumberOfRegressors(), beta.length);
45 }
46
47 @Test
48 public void canEstimateResiduals(){
49 double[] e = regression.estimateResiduals();
50 assertEquals(getSampleSize(), e.length);
51 }
52
53 @Test
54 public void canEstimateRegressionParametersVariance(){
55 double[][] variance = regression.estimateRegressionParametersVariance();
56 assertEquals(getNumberOfRegressors(), variance.length);
57 }
58
59 @Test
60 public void canEstimateRegressandVariance(){
61 if (getSampleSize() > getNumberOfRegressors()) {
62 double variance = regression.estimateRegressandVariance();
63 assertTrue(variance > 0.0);
64 }
65 }
66
67 }