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(); } } }
public void NationalLoanAccount_InterestRate_Returns10() { ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.National); ILoanAccount loanAccount = abstractFactory.CreateLoanAccount(); Assert.Equal(10, loanAccount.InterestRate); }
public void CitiSavingsAccount_Balance_Returns1000() { ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.Citi); ISavingsAccount savingsAccount = abstractFactory.CreateSavingsAccount(); Assert.Equal(1000, savingsAccount.Balance); }
public void CitiLoanAccount_InterestRate_Returns7() { ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.Citi); ILoanAccount loanAccount = abstractFactory.CreateLoanAccount(); Assert.Equal(7, loanAccount.InterestRate); }
public void CitiSavingsAccount_Test() { abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accounts[0]); var savingsAccount = abstractFactory.CreateSavingsAccount(); var expected = typeof(CitiSavingsAccount); Assert.IsType(expected, savingsAccount); }
public void NationaLoanAccount_Test() { abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accounts[1]); var loanAccount = abstractFactory.CreateLoanAccount(); var expected = typeof(NationalLoanAccount); Assert.IsType(expected, loanAccount); }
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); }
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(); }
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(); }
public void GetCreditUnionFactory_CitiType_ReturnsCitiCreditUnionFactory() { ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.Citi); Assert.IsType <CitiCreditUnionFactory>(abstractFactory); }
public void GetCreditUnionFactory_NationalType_ReturnsNationalCreditUnionFactory() { ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.National); Assert.IsType <NationalCreditUnionFactory>(abstractFactory); }
public void InvalidAccount_Test() { abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accounts[2]); Assert.Null(abstractFactory); }
public FactoryMethodTest() { factory = new SavingsAccountFactory() as ICreditUnionFactory; }