Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            var keepGoing = true;

            Console.WriteLine("Enter individual credit card numbers at the prompt:");
            Console.WriteLine("Enter 'f' to enter an input file name:");
            Console.WriteLine("Enter 'x' to exit:");

            ICreditCardValidator validator = new LuhnValidator();
            ICreditCardFactory   factory   = new CreditCardFactory(validator, CARDDEFINITIONS);

            while (keepGoing)
            {
                Console.Write("Enter card number > ");
                var cardNumber = Console.ReadLine();

                if (cardNumber == "x")
                {
                    keepGoing = false;
                }
                else if (cardNumber == "f")
                {
                    Console.Write("Enter a file name of credit card numbers > ");
                    var filename = Console.ReadLine();

                    if (!File.Exists(filename))
                    {
                        Console.WriteLine("File does not exist: " + filename);
                    }
                    else
                    {
                        try
                        {
                            using (StreamReader sr = new StreamReader(filename))
                            {
                                while ((cardNumber = sr.ReadLine()) != null)
                                {
                                    CreditCard card   = factory.CreateCreditCard(cardNumber);
                                    var        result = card.ToString();
                                    Console.WriteLine(result);
                                }
                            }
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine("The file could not be read:");
                            Console.WriteLine(e.Message);
                        }
                    }
                }
                else
                {
                    CreditCard card   = factory.CreateCreditCard(cardNumber);
                    var        result = card.ToString();
                    Console.WriteLine(result);
                }
            }
        }
Ejemplo n.º 2
0
        public void ShouldValidateCreditCardNumber(object value)
        {
            bool result = new LuhnValidator().Validate(value.ToString());

            Assert.Equal(true, result);
        }