コード例 #1
0
        public void FromContinuedFraction()
        {
            // arrange
            var continuedFraction = new BigInteger[] { 2, 1, 1, 8 };

            // action
            var rational = Rational.FromContinuedFraction(continuedFraction);

            // assert
            Assert.Equal((Rational)43 / 17, rational);
        }
コード例 #2
0
        public void FromContinuedFraction_Negative1()
        {
            // arrange
            var continuedFraction = new BigInteger[] { -45, 5, 24 };

            // action
            var rational = Rational.FromContinuedFraction(continuedFraction);

            // assert
            Assert.Equal((Rational)(-5421) / 121, rational);
        }
コード例 #3
0
        public void FromContinuedFraction_Negative2()
        {
            // arrange
            var continuedFraction = new BigInteger[] { -1, 1, 17, 13, 2, 1, 1, 4, 2 };

            // action
            var rational = Rational.FromContinuedFraction(continuedFraction);

            // assert
            Assert.Equal((Rational)683 / -12345, rational);
        }
コード例 #4
0
        public void FromContinuedFraction_LessThanOne()
        {
            // arrange
            var continuedFraction = new BigInteger[] { 0, 3 };

            // action
            var rational = Rational.FromContinuedFraction(continuedFraction);

            // assert
            Assert.Equal((Rational)1 / 3, rational);
        }
コード例 #5
0
        public void FromContinuedFraction_Empty()
        {
            // arrange
            var continuedFraction = new BigInteger[] { };

            // action
            var rational = Rational.FromContinuedFraction(continuedFraction);

            // assert
            Assert.Equal(Rational.Zero, rational);
        }
コード例 #6
0
        public void FromContinuedFraction_Big2()
        {
            // arrange
            var continuedFraction = new BigInteger[] { 10, 9, 8, 7, 6, 5, 4, 3, 3 };

            // action
            var rational = Rational.FromContinuedFraction(continuedFraction);

            // assert
            Assert.Equal((Rational)7489051 / 740785, rational);
        }
コード例 #7
0
        public void FromContinuedFraction_Big1()
        {
            // arrange
            var continuedFraction = new BigInteger[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

            // action
            var rational = Rational.FromContinuedFraction(continuedFraction);

            // assert
            Assert.Equal((Rational)7489051 / 5225670, rational);
        }
コード例 #8
0
        public void FromContinuedFraction_One()
        {
            // arrange
            var continuedFraction = new BigInteger[] { 1 };

            // action
            var rational = Rational.FromContinuedFraction(continuedFraction);

            // assert
            Assert.Equal(Rational.One, rational);
        }