public void GetXTermsMatrixTest()
        {
            //data for y = -7x +2xx
            QuadraticFitThruZero target = new QuadraticFitThruZero();

            target.Points.Add(new DPoint(0, 0));
            target.Points.Add(new DPoint(1, -5));
            target.Points.Add(new DPoint(2, -6));
            target.Points.Add(new DPoint(3, -3));
            target.Points.Add(new DPoint(4, 4));
            target.Points.Add(new DPoint(5, 15));

            Matrix expected = new Matrix(new double[, ] {
                { 0, 0 },
                { 1, 1 },
                { 2, 4 },
                { 3, 9 },
                { 4, 16 },
                { 5, 25 }
            });

            Matrix actual = target.GetXTermsMatrix();

            Assert.AreEqual(expected, actual);
        }
        public void CalculateTest()
        {
            QuadraticFitThruZero target = new QuadraticFitThruZero();

            //data for y = -7x +2xx
            target.Points.Add(new DPoint(0, 0));
            target.Points.Add(new DPoint(1, -5));
            target.Points.Add(new DPoint(2, -6));
            target.Points.Add(new DPoint(3, -3));
            target.Points.Add(new DPoint(4, 4));
            target.Points.Add(new DPoint(5, 15));
            Matrix parameters = target.CalculateParameters();

            Assert.AreEqual(3234, target.Calculate(42));
        }
        public void ParametersTest()
        {
            //data for y = -7x +2xx
            QuadraticFitThruZero target = new QuadraticFitThruZero();

            target.Points.Add(new DPoint(0, 0));
            target.Points.Add(new DPoint(1, -5));
            target.Points.Add(new DPoint(2, -6));
            target.Points.Add(new DPoint(3, -3));
            target.Points.Add(new DPoint(4, 4));
            target.Points.Add(new DPoint(5, 15));
            Matrix parameters = target.CalculateParameters();

            //x term
            Assert.AreEqual("-7.0000", parameters[0, 0].ToString("0.0000"));
            //x squared term
            Assert.AreEqual("2.0000", parameters[1, 0].ToString("0.0000"));
        }