/** * Degree of polynomial must be positive */ @Test(expectedExceptions = IllegalArgumentException.class) public void MinusDegreeTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = -4; final double[] xValues = new double[] {0, 1, 2, 3, 5, 6 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 1 }; regObj.regress(xValues, yValues, degree); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void WrongDataLengthVerboseTureTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final double[] xValues = new double[] {0, 1, 2, 3, 5, 6 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 1, 2 }; regObj.regressVerbose(xValues, yValues, degree, true); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void DataShortVerboseTrueTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 6; final double[] xValues = new double[] {0, 1, 2, 3, 5, 6 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 1 }; regObj.regressVerbose(xValues, yValues, degree, true); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void MinusDegreeVerboseTrueTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = -4; final double[] xValues = new double[] {0, 1, 2, 3, 5, 6 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 1 }; regObj.regressVerbose(xValues, yValues, degree, true); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void WrongDataLengthVerboseFalseTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final double[] xValues = new double[] {0, 1, 2, 3, 5, 6 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 1, 2 }; regObj.regressVerbose(xValues, yValues, degree, false); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void ExtremeValueTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final double[] xValues = new double[] {0, 1e-307, 2e-307, 3e18, 4 }; final double[] yValues = new double[] {1, 2, 3, 4, 5 }; regObj.regress(xValues, yValues, degree); }
/** * Number of data points should be larger than (degree + 1) of a polynomial */ @Test(expectedExceptions = IllegalArgumentException.class) public void DataShortTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 6; final double[] xValues = new double[] {0, 1, 2, 3, 5, 6 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 1 }; regObj.regress(xValues, yValues, degree); }
/** * xValues length should be the same as yValues length */ @Test(expectedExceptions = IllegalArgumentException.class) public void WrongDataLengthTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final double[] xValues = new double[] {0, 1, 2, 3, 5, 6 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 1, 2 }; regObj.regress(xValues, yValues, degree); }
/** * An error is thrown if too many repeated data are found */ @Test(expectedExceptions = IllegalArgumentException.class) public void RepeatDataTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final double[] xValues = new double[] {0, 1, 2, 3, 1, 1 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 2 }; regObj.regress(xValues, yValues, degree); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void ExtremeValueVerboseTrueAlphaTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final double[] xValues = new double[] {0, 1e-307, 2e-307, 3e-307, 4 }; final double[] yValues = new double[] {1, 2, 3, 4, 5 }; regObj.regressVerbose(xValues, yValues, degree, true); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void DataShortVerboseFalseTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 6; final double[] xValues = new double[] {0, 1, 2, 3, 5, 6 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 1 }; regObj.regressVerbose(xValues, yValues, degree, false); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void MinusDegreeVerboseFalseTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = -4; final double[] xValues = new double[] {0, 1, 2, 3, 5, 6 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 1 }; regObj.regressVerbose(xValues, yValues, degree, false); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void RepeatDataVerboseFalseTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final double[] xValues = new double[] {0, 1, 2, 3, 1, 1 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 2 }; regObj.regressVerbose(xValues, yValues, degree, false); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void RepeatDataVerboseTrueTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final double[] xValues = new double[] {0, 1, 2, 3, 1, 1 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 2 }; regObj.regressVerbose(xValues, yValues, degree, true); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void ExtremeValueVerboseFalseTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final double[] xValues = new double[] {0, 1e-307, 2e-307, 3e18, 4 }; final double[] yValues = new double[] {1, 2, 3, 4, 5 }; regObj.regressVerbose(xValues, yValues, degree, false); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void LargeNumberTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; double[] xValues = new double[] {1, 2, 3, 4e2, 5, 6, 7 }; double[] yValues = new double[] {1, 2, 3, 4, 5, 6, 7 }; regObj.regress(xValues, yValues, degree); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void LargeNumberVerboseFalseTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; double[] xValues = new double[] {1, 2, 3, 4e2, 5, 6, 7 }; double[] yValues = new double[] {1, 2, 3, 4, 5, 6, 7 }; regObj.regressVerbose(xValues, yValues, degree, false); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void LargeNumberVerboseTrueTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 6; double[] xValues = new double[] {1, 2, 3, 4e17, 5, 6, 7 }; double[] yValues = new double[] {1, 2, 3, 4, 5, 6, 7 }; regObj.regressVerbose(xValues, yValues, degree, true); }
/** * */ @Test(expectedExceptions = IllegalArgumentException.class) public void NullTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final int nPts = 5; double[] xValues = new double[nPts]; double[] yValues = new double[nPts]; xValues = null; yValues = null; regObj.regress(xValues, yValues, degree); }
/** * An error is thrown if rescaling of xValues is NOT used and we try to access data, mean and standard deviation */ @Test(expectedExceptions = IllegalArgumentException.class) public void NormalisationErrorTest() { final PolynomialsLeastSquaresFitter regObj = new PolynomialsLeastSquaresFitter(); final int degree = 4; final double[] xValues = new double[] {0, 1, 2, 3, 5, 6 }; final double[] yValues = new double[] {1, 2, 3, 4, 2, 1 }; PolynomialsLeastSquaresFitterResult result = regObj.regressVerbose(xValues, yValues, degree, false); result.getMeanAndStd(); }