示例#1
0
        public void ConstructorTest4()
        {
            decimal[] coeffs = { 0.0m, 1.0m };
            var       poly   =
                new Solvers.Polynomial(coeffs, 1);


            decimal firstCoeff  = poly.GetCoeff(0);
            decimal secondCoeff = poly.GetCoeff(1);

            decimal expectedCoeff = 0.0m;

            Assert.AreEqual(expectedCoeff, firstCoeff);

            expectedCoeff = 1.0m;
            Assert.AreEqual(expectedCoeff, secondCoeff);

            var newPoly =
                new Solvers.Polynomial(poly);

            firstCoeff  = newPoly.GetCoeff(0);
            secondCoeff = newPoly.GetCoeff(1);

            expectedCoeff = 0.0m;
            Assert.AreEqual(expectedCoeff, firstCoeff);

            expectedCoeff = 1.0m;
            Assert.AreEqual(expectedCoeff, secondCoeff);
        }
示例#2
0
        public void ValueTest2()
        {
            var poly =
                new Solvers.Polynomial(1, 0);

            decimal calculatedResult = poly.Value(5);
            decimal expectedResult   = 1.0m;

            Assert.AreEqual(expectedResult, calculatedResult);
        }
示例#3
0
        public void ConstructorTest3()
        {
            var poly =
                new Solvers.Polynomial(1, 1);

            decimal firstCoeff  = poly.GetCoeff(0);
            decimal secondCoeff = poly.GetCoeff(1);

            decimal expectedCoeff = 1.0m;

            Assert.AreEqual(expectedCoeff, firstCoeff);
            Assert.AreEqual(expectedCoeff, secondCoeff);
        }
示例#4
0
        public void ConstructorTest1()
        {
            try
            {
                var poly =
                    new Solvers.Polynomial(-1);
            }
            catch (Exception e)
            {
                const string ErrorMessage =
                    "A degree of polynomial can't be a negative number.";

                Assert.AreEqual(e.Message, ErrorMessage);
            }
        }
示例#5
0
        public void TestBinary1()
        {
            var poly =
                new Solvers.Polynomial(1, 0);


            var secondPoly =
                new Solvers.Polynomial(1, 1);

            var result = poly * secondPoly;

            decimal expectedResult   = 3.0m;
            decimal calculatedResult = result.Value(2.0m);

            Assert.AreEqual(expectedResult, calculatedResult);
        }
示例#6
0
        public void TestBinary2()
        {
            decimal[] coeffs = new decimal[2];
            coeffs[0] = 1.0m;
            coeffs[1] = 0.25m;

            var poly =
                new Solvers.Polynomial(coeffs, 1);

            var secondPoly =
                new Solvers.Polynomial(coeffs, 1);


            var result = poly * secondPoly;

            decimal expectedResult   = 1.5625m;
            decimal calculatedResult = result.Value(1.0m);

            Assert.AreEqual(expectedResult, calculatedResult);
        }