Beispiel #1
0
        public void GetHashCode_DifferentPolynomials_DifferentHashCodes()
        {
            var p1 = new Polynomial.Polynomial(new double[] { 1, 2, 3 });
            var p2 = new Polynomial.Polynomial(new double[] { 1, 2, 0 });

            Assert.AreNotEqual(p1.GetHashCode(), p2.GetHashCode());
        }
        public void Calculate(object obj)
        {
            try
            {
                var polynomial1 = new Polynomial.Polynomial(new List <double> {
                    A1, B1, C1
                });
                var polynomial2 = new Polynomial.Polynomial(new List <double> {
                    A2, B2, C2
                });

                Polynomial1 = PolynomialInfo(polynomial1, D1, X1);
                Polynomial2 = PolynomialInfo(polynomial2, D2, X2);

                Output = OutputInfo(polynomial1, polynomial2);

                OnPropertyChanged(nameof(Polynomial1));
                OnPropertyChanged(nameof(Polynomial2));
                OnPropertyChanged(nameof(Output));
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }
Beispiel #3
0
        public void Substract_ValidData_ValidResult(double[] coefficents1, double[] coefficents2, double[] expectedResult)
        {
            var p1     = new Polynomial.Polynomial(coefficents1);
            var p2     = new Polynomial.Polynomial(coefficents2);
            var result = p1.Subtract(p2);

            CollectionAssert.AreEqual(result.Coefficients, expectedResult);
        }
Beispiel #4
0
        public void Multiply_ValidData_Compositoin(double[] coefficents1, double[] coefficents2, double[] expectedResult)
        {
            var p1     = new Polynomial.Polynomial(coefficents1);
            var p2     = new Polynomial.Polynomial(coefficents2);
            var result = p1.Multiply(p2);

            CollectionAssert.AreEqual(result.Coefficients, expectedResult);
        }
        public void EqualsPol_PolEquals_RetrunsTrue()
        {
            double[] arr = { 12.34, 12.1 };
            Polynomial.Polynomial ob1 = new Polynomial.Polynomial(arr);
            Polynomial.Polynomial ob2 = ob1;

            Assert.True(ob1.Equals(ob2));
        }
Beispiel #6
0
        public void MinusOperator_ValidData_ValidResult(double[] coefficents1, double[] coefficents2, double[] expectedResult)
        {
            var p1     = new Polynomial.Polynomial(coefficents1);
            var p2     = new Polynomial.Polynomial(coefficents2);
            var result = p1 - p2;

            CollectionAssert.AreEqual(result.Coefficients, expectedResult);
        }
Beispiel #7
0
        public void Add_ValidData_Sum(double[] coefficents1, double[] coefficents2, double[] expectedResult)
        {
            var p1     = new Polynomial.Polynomial(coefficents1);
            var p2     = new Polynomial.Polynomial(coefficents2);
            var result = p1.Add(p2);

            CollectionAssert.AreEqual(result.Coefficients, expectedResult);
        }
Beispiel #8
0
        public void Equals_NullParameter_False()
        {
            var p1 = new Polynomial.Polynomial(new double[] { 1 });

            Polynomial.Polynomial p2 = null;

            Assert.That(p1.Equals(p2), Is.False);
            Assert.That(p1.Equals((object)p2), Is.False);
        }
        public void Indexer_Pass4_Returns2ndCoefficient()
        {
            double[] arr = { 5.0, 4.0, 3.0, 2.0 };
            Polynomial.Polynomial pol = new Polynomial.Polynomial(arr);
            double expetedRes         = 4.0;

            double res = pol[1];

            Assert.AreEqual(expetedRes, res);
        }
        private string PolynomialInfo(Polynomial.Polynomial polynomial, double D, double x)
        {
            var result = new StringBuilder();

            result.Append($"f(x) = {polynomial}\n\n");
            result.Append($"f({x}) = {polynomial.GetSolution(x)}\n\n");
            result.Append($"f'(x) = {polynomial.Derivative()}\n\n");
            result.Append($"({polynomial}) * {D} = {polynomial * D}\n");
            return(result.ToString());
        }
        private string OutputInfo(Polynomial.Polynomial polynomial1, Polynomial.Polynomial polynomial2)
        {
            var output = new StringBuilder();

            output.Append($"{polynomial1} + {polynomial2} = {polynomial1 + polynomial2}\n");
            output.Append($"{polynomial1} - {polynomial2} = {polynomial1 - polynomial2}\n\n");
            //output.Append($"The angle between the vectors: {Vector3D.Angle(polynomial1, polynomial2)}\n");
            //output.Append($"Scalar product of vectors: {Vector3D.ScalarProduct(polynomial1, polynomial2)}");
            return(output.ToString());
        }
Beispiel #12
0
        public void Equals_SamePolynomials_True(double[] coefficients1, double[] coefficients2)
        {
            var p1 = new Polynomial.Polynomial(coefficients1);
            var p2 = new Polynomial.Polynomial(coefficients2);

            Assert.That(p1.Equals(p2), Is.True);
            Assert.That(p1.Equals((object)p2), Is.True);
            Assert.That(p2.Equals(p1), Is.True);
            Assert.That(p1 == p2, Is.True);
        }
        public void CalculateSum_5CoefficientsAndNum2_Returns129()
        {
            double[] coeffs           = { 7.0, 5.0, 3.0, 1.0 };
            Polynomial.Polynomial pol = new Polynomial.Polynomial(coeffs);
            double expectedResult     = 83;
            //7*2^3 + 5*2^2 + 3*2^1 + 1*2^0 = 56+20+6+1=83

            double res = pol.CalculateSum(2);

            Assert.AreEqual(expectedResult, res);
        }
        public void OperatorPlus_TwoPolynomial_ReturnsPolynomial()
        {
            double[] arr1        = { 12.5, 13.0, 13.5 };
            double[] arr2        = { 7.5, 7.0 };
            double[] expectedArr = { 20, 20, 13.5 };

            Polynomial.Polynomial pol1        = new Polynomial.Polynomial(arr1);
            Polynomial.Polynomial pol2        = new Polynomial.Polynomial(arr2);
            Polynomial.Polynomial expectedPol = new Polynomial.Polynomial(expectedArr);

            Polynomial.Polynomial resPol = pol1 + pol2;

            Assert.True(expectedPol == resPol);
        }
        public void OperatorMultiply_TwoPolynomial_ReturnsPolynomial()
        {
            double[] arr1        = { -3, -2, -1 };
            double[] arr2        = { -1, -2, -4 };
            double[] expectedArr = { 3, 8, 17, 10, 4 };

            Polynomial.Polynomial pol1        = new Polynomial.Polynomial(arr1);
            Polynomial.Polynomial pol2        = new Polynomial.Polynomial(arr2);
            Polynomial.Polynomial expectedPol = new Polynomial.Polynomial(expectedArr);

            Polynomial.Polynomial resPol = pol1 * pol2;

            Assert.True(expectedPol == resPol);
        }
Beispiel #16
0
        public void Degree_Polynomial_DegreeOfPolynomial(double[] coefficients, int expectedResult)
        {
            var p = new Polynomial.Polynomial(coefficients);

            Assert.That(p.Degree, Is.EqualTo(expectedResult));
        }
Beispiel #17
0
        public static void ToString_ValidData_StringReprezentation(double[] coefficients, string expectedResult)
        {
            var p = new Polynomial.Polynomial(coefficients);

            Assert.That(p.ToString(), Is.EqualTo(expectedResult));
        }