Exemple #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();
                }
            }
        }
Exemple #2
0
        public void NationalLoanAccount_InterestRate_Returns10()
        {
            ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.National);

            ILoanAccount loanAccount = abstractFactory.CreateLoanAccount();

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

            ISavingsAccount savingsAccount = abstractFactory.CreateSavingsAccount();

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

            ILoanAccount loanAccount = abstractFactory.CreateLoanAccount();

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

            var expected = typeof(CitiSavingsAccount);

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

            var expected = typeof(NationalLoanAccount);

            Assert.IsType(expected, loanAccount);
        }
Exemple #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);
        }
Exemple #8
0
        static void Main(string[] args)
        {
            var arrayOfAccounts = new string[] { "Citi-001", "National-100", "No-002" };

            foreach (var acc in arrayOfAccounts)
            {
                ICreditUnionFactory anAbstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(acc.ToString());
                if (anAbstractFactory == null)
                {
                    Console.WriteLine("Sorry, account number entered is not accurate");
                }
                else
                {
                    ILoanAccount   loanAccount   = anAbstractFactory.CreateLoanAccount();
                    ISavingAccount savingAccount = anAbstractFactory.CreateSavingAccount();
                }
            }
            Console.ReadLine();
        }
Exemple #9
0
        static void Main(string[] args)
        {
            List <string> accounts = new List <string>();

            accounts.Add("CITI-32424");
            accounts.Add("OTHE-61158");
            accounts.Add("NATI-67356");

            foreach (var item in accounts)
            {
                ICreditUnionFactory concreteFactory = FactoryProvider.GetConcreteFactory(item);
                if (concreteFactory != null)
                {
                    concreteFactory.CreateLoanAccount();
                    concreteFactory.CreateSavingsAccount();
                }
                else
                {
                    Console.WriteLine("No known bank.");
                }
            }

            Console.ReadLine();
        }
Exemple #10
0
        public void GetCreditUnionFactory_CitiType_ReturnsCitiCreditUnionFactory()
        {
            ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.Citi);

            Assert.IsType <CitiCreditUnionFactory>(abstractFactory);
        }
Exemple #11
0
        public void GetCreditUnionFactory_NationalType_ReturnsNationalCreditUnionFactory()
        {
            ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.National);

            Assert.IsType <NationalCreditUnionFactory>(abstractFactory);
        }
Exemple #12
0
        public void InvalidAccount_Test()
        {
            abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accounts[2]);

            Assert.Null(abstractFactory);
        }
 public FactoryMethodTest()
 {
     factory = new SavingsAccountFactory() as ICreditUnionFactory;
 }