public void GivenADigitNumber_FindLargestPalindromeProduct(int numberOfDigits, int expectedLargestPalindromeProduct)
        {
            // arrange
            var sut = new LargestPalindromeProduct();

            // act
            var largestPalindromeProduct = sut.Find(numberOfDigits);

            // assert
            Assert.Equal(expectedLargestPalindromeProduct, largestPalindromeProduct);
        }
        public void GivenANumber_SpecifiesWhetherItIsPalindrome(int number, bool expected)
        {
            // arrange
            var sut = new LargestPalindromeProduct();

            // act
            var isPalindrome = sut.IsPalindrome(number);

            // assert
            Assert.Equal(expected, isPalindrome);
        }
Beispiel #3
0
        public void TestMethod2()
        {
            //Arrange
            int n        = 3;
            int expected = 906609;

            //Act
            var res = LargestPalindromeProduct.Solve(n);

            //Assert
            Assert.AreEqual(expected, res);
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            StringBuilder description = new StringBuilder("Project Euler");

            description.AppendLine("Project Euler provides a large collection of challenges in the domain of computer science and mathematics.");
            description.AppendLine("The challenges typically involve writing a small program to figure out the solution");
            description.AppendLine("to a clever mathematical formula or equation, such as finding the sum of digits");
            description.AppendLine("of all numbers preceding each number in a series.\n");
            description.AppendLine("Bellow is a list of the problems to pick from to get a solution for\n");
            Console.ForegroundColor = ConsoleColor.Red;
            Console.Write(description);

            int id = -1;

            foreach (var value in Enum.GetValues(typeof(EulerProblems)))
            {
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.Write((int)value + ": " + value + "\n");
                id = (int)value;
            }

            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("\nType in a number to get Problems answers.\n");
            var input = Console.ReadKey();

            Console.WriteLine();

            // stops wrong inputs
            int number = 0;

            while (!Int32.TryParse(input.KeyChar.ToString(), out number) || (number > id || number == 0))
            {
                Console.Write("\nPick a number from the list of problems.\n");
                input = Console.ReadKey();
            }


            // Get a enum value to check agaisnt list
            if (Enum.IsDefined(typeof(EulerProblems), number))
            {
                var problem = (EulerProblems)number;
                Console.Clear();

                switch (problem)
                {
                case EulerProblems.MultiplesOf3And5:
                    MultiplesOf3And5.SolveMultiples();
                    break;

                case EulerProblems.EvenFibonacciNumbers:
                    EvenFibonacciNumbers.SolveEvenFibonacci();
                    break;

                case EulerProblems.LargestPrimeFactor:
                    LargestPrimeFactor.ComputeLargestPrime();
                    break;

                case EulerProblems.LargestPalindromeProduct:
                    LargestPalindromeProduct.GetLargestPalindrome();
                    break;
                }
            }

            // pause at the end
            Console.Read();
        }
        public LargestPalindromeProductIntegrationTests()
        {
            var palindromeProduct = new ProjectEuler.PalindromeProduct.PalindromeProduct();

            _sut = new LargestPalindromeProduct(palindromeProduct);
        }
 public LargestPalindromeProductTests()
 {
     _palindromeProductMock = new Mock <IPalindromeProduct>();
     _sut = new LargestPalindromeProduct(_palindromeProductMock.Object);
 }