예제 #1
0
        public void AddMember_NotNullPolynomialMember_AddedElement(double degree, double coefficient)
        {
            // arrange
            int expectedLength = _polynomial.Count + 1;
            var newEl          = new PolynomialMember(degree, coefficient);

            // act
            _polynomial.AddMember(newEl);
            // assert
            Assert.AreEqual(expectedLength, _polynomial.Count);
            var isAdded = Array.Find(_polynomial.ToArray(), x => Math.Abs(x.Degree - degree) < Precision);

            Assert.IsTrue(Math.Abs(isAdded.Degree - newEl.Degree) < Precision && Math.Abs(isAdded.Coefficient - newEl.Coefficient) < Precision);
        }
예제 #2
0
        public void Multiply_PolynomialMultiplyPolynomial_NewPolynomial(Polynomial membersA,
                                                                        Polynomial membersB, Polynomial expectedResult)
        {
            // act
            var actualResult = membersA.Multiply(membersB);

            // assert
            AssertIsAsExpected(expectedResult.ToArray().OrderBy(x => x.Degree), actualResult.ToArray().OrderBy(x => x.Degree), _polynomialComparer);
        }
예제 #3
0
        public void SubtractionByOperator_PolynomialMinusPolynomial_NewPolynomial(Polynomial membersA,
                                                                                  Polynomial membersB, Polynomial expectedResult)
        {
            // act
            var actualResult = membersA - membersB;

            // assert
            AssertIsAsExpected(expectedResult.ToArray().OrderBy(x => x.Degree), actualResult.ToArray().OrderBy(x => x.Degree), _polynomialComparer);
        }
예제 #4
0
        public void Multiply_PolynomialMinusPolynomialTuple_NewPolynomial(Polynomial membersA,
                                                                          double degree, double coeff, Polynomial expectedResult)
        {
            // act
            var actualResult = membersA.Multiply((degree, coeff));

            // assert
            AssertIsAsExpected(expectedResult.ToArray().OrderBy(x => x.Degree), actualResult.ToArray().OrderBy(x => x.Degree), _polynomialComparer);
        }
예제 #5
0
        public void AddByOperator_PolynomialPlusPolynomialTuple_NewPolynomial(Polynomial membersA,
                                                                              double degree, double coeff, Polynomial expectedResult)
        {
            // act
            var actualResult = membersA + (degree, coeff);

            // assert
            AssertIsAsExpected(expectedResult.ToArray().OrderBy(x => x.Degree), actualResult.ToArray().OrderBy(x => x.Degree), _polynomialComparer);
        }