Example #1
0
        public void Test1()
        {
            /*
             *  1 + 1/2 = 3/2 = 1.5
             *  1 + 1/(2 + 1/2) = 7/5 = 1.4
             *  1 + 1/(2 + 1/(2 + 1/2)) = 17/12 = 1.41666...
             *  1 + 1/(2 + 1/(2 + 1/(2 + 1/2))) = 41/29 = 1.41379...
             *
             */
            var sut = new E057SquareRootConvergents();

            Fraction r = sut.GetSquareRootConvergents(iterationNumber: 1);

            Assert.Equal(3, r.Numerator);
            Assert.Equal(2, r.Denominator);

            r = sut.GetSquareRootConvergents(iterationNumber: 2);
            Assert.Equal(7, r.Numerator);
            Assert.Equal(5, r.Denominator);

            r = sut.GetSquareRootConvergents(iterationNumber: 3);
            Assert.Equal(17, r.Numerator);
            Assert.Equal(12, r.Denominator);

            r = sut.GetSquareRootConvergents(iterationNumber: 4);
            Assert.Equal(41, r.Numerator);
            Assert.Equal(29, r.Denominator);

            r = sut.GetSquareRootConvergents(iterationNumber: 5);
            Assert.Equal(99, r.Numerator);
            Assert.Equal(70, r.Denominator);

            r = sut.GetSquareRootConvergents(iterationNumber: 6);
            Assert.Equal(239, r.Numerator);
            Assert.Equal(169, r.Denominator);

            r = sut.GetSquareRootConvergents(iterationNumber: 7);
            Assert.Equal(577, r.Numerator);
            Assert.Equal(408, r.Denominator);

            r = sut.GetSquareRootConvergents(iterationNumber: 8);
            Assert.Equal(1393, r.Numerator);
            Assert.Equal(985, r.Denominator);
        }