Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            List <string> accntNumbers = new List <string> {
                "CITI-456",
                "NATIONAL-987",
                "CHASE-222"
            };

            for (int i = 0; i < accntNumbers.Count; i++)
            {
                ICreditUnionFactory anAbstractFactory = CreditUnionFactoryProvider.
                                                        GetCreditUnionFactory(accntNumbers[i]);

                if (anAbstractFactory == null)
                {
                    Console.WriteLine("Sorry, This credit union w/ account number "
                                      + $"{accntNumbers[i]} is invalid.");
                }

                else
                {
                    ILoanAccount    loan    = anAbstractFactory.CreateLoanAccount();
                    ISavingsAccount savings = anAbstractFactory.CreateSavingsAccount();
                }
            }
        }
Ejemplo n.º 2
0
        public void NationalLoanAccount_InterestRate_Returns10()
        {
            ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.National);

            ILoanAccount loanAccount = abstractFactory.CreateLoanAccount();

            Assert.Equal(10, loanAccount.InterestRate);
        }
Ejemplo n.º 3
0
        public void CitiSavingsAccount_Balance_Returns1000()
        {
            ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.Citi);

            ISavingsAccount savingsAccount = abstractFactory.CreateSavingsAccount();

            Assert.Equal(1000, savingsAccount.Balance);
        }
Ejemplo n.º 4
0
        public void CitiLoanAccount_InterestRate_Returns7()
        {
            ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.Citi);

            ILoanAccount loanAccount = abstractFactory.CreateLoanAccount();

            Assert.Equal(7, loanAccount.InterestRate);
        }
Ejemplo n.º 5
0
        public void CitiSavingsAccount_Test()
        {
            abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accounts[0]);
            var savingsAccount = abstractFactory.CreateSavingsAccount();

            var expected = typeof(CitiSavingsAccount);

            Assert.IsType(expected, savingsAccount);
        }
Ejemplo n.º 6
0
        public void NationaLoanAccount_Test()
        {
            abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accounts[1]);
            var loanAccount = abstractFactory.CreateLoanAccount();

            var expected = typeof(NationalLoanAccount);

            Assert.IsType(expected, loanAccount);
        }
Ejemplo n.º 7
0
        public void CheckAllAccounts_ReturnsCorrectBalanceAndInterestRate(AccountType accountType, int balance, int interestRate)
        {
            ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accountType);

            ISavingsAccount savingsAccount = abstractFactory.CreateSavingsAccount();
            ILoanAccount    loanAccount    = abstractFactory.CreateLoanAccount();

            Assert.Equal(balance, savingsAccount.Balance);
            Assert.Equal(interestRate, loanAccount.InterestRate);
        }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello Client!");
            List <string> accountNumbers = new List <string>()
            {
                "city-3645", "national-6725", "chase-897"
            };

            foreach (var t in accountNumbers)
            {
                ACreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(t);
                if (abstractFactory == null)
                {
                    Console.WriteLine($"sorry account number is invalid :{t}");
                }
                else
                {
                    ILoansAccount   loan   = abstractFactory.CreateLoanAccount();
                    ISavingsAccount saving = abstractFactory.CreateSavingAccount();
                }
            }

            Console.ReadKey();
        }
Ejemplo n.º 9
0
        public void GetCreditUnionFactory_CitiType_ReturnsCitiCreditUnionFactory()
        {
            ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.Citi);

            Assert.IsType <CitiCreditUnionFactory>(abstractFactory);
        }
Ejemplo n.º 10
0
        public void GetCreditUnionFactory_NationalType_ReturnsNationalCreditUnionFactory()
        {
            ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.National);

            Assert.IsType <NationalCreditUnionFactory>(abstractFactory);
        }
Ejemplo n.º 11
0
        public void InvalidAccount_Test()
        {
            abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accounts[2]);

            Assert.Null(abstractFactory);
        }