public void Charge_close_reopen_fees() { SavingBookContract saving = new SavingBookContract(ApplicationSettings.GetInstance(""), new User(), new DateTime(2009, 1, 1), null) { Product = _bookProduct, AgioFees = 0.01, ChequeDepositFees = 100, DepositFees = 50, CloseFees = 100, ReopenFees = 100, OverdraftFees = 100 }; Currency currency = new Currency() { UseCents = true, Code = "SOM", Id = 1, IsPivot = true, Name = "SOM" }; List<SavingEvent> closeEvents = saving.Close(new DateTime(2009, 1, 2), new User(), "closing", false, Teller.CurrentTeller, false); Assert.AreEqual(OSavingsStatus.Closed, saving.Status); foreach (SavingEvent closeEvent in closeEvents) { Assert.AreEqual(closeEvent.Fee, saving.CloseFees); } }
public void Charge_reopen_fees() { SavingBookContract saving = new SavingBookContract(ApplicationSettings.GetInstance(""), new User(), new DateTime(2009, 1, 1), null) { Product = _bookProduct, AgioFees = 0.01, ChequeDepositFees = 100, DepositFees = 50, CloseFees = 100, ReopenFees = 100, OverdraftFees = 100 }; saving.Close(new DateTime(2009, 1, 2), new User(), "closing", false, Teller.CurrentTeller, false); List<SavingEvent> reopenEvents = saving.Reopen(100, new DateTime(2009, 1, 3), new User(), "reopen", false); foreach (SavingEvent reopenEvent in reopenEvents) { Assert.AreEqual(saving.ReopenFees, reopenEvent.Fee); } }
public void CloseAccount() { Assert.Ignore(); _product.InterestBase = OSavingInterestBase.Weekly; _product.InterestFrequency = OSavingInterestFrequency.EndOfMonth; SavingBookContract saving = new SavingBookContract( ApplicationSettings.GetInstance(""), new User(), new DateTime(2009, 01, 01), null) { Product = _product, InterestRate = 0.1 }; List<SavingEvent> events = saving.Close( new DateTime(2009, 02, 15), new User(), "Close savings contract", false, Teller.CurrentTeller, false ); int accrualEvents = saving.Events.FindAll(item => item is SavingInterestsAccrualEvent).Count; int postingEvents = saving.Events.FindAll(item => item is SavingInterestsPostingEvent).Count; Assert.AreEqual(events.Count, 10); Assert.AreEqual(accrualEvents, 6); Assert.AreEqual(postingEvents, 2); Assert.AreEqual(saving.GetBalance(), 1640); Assert.AreEqual(saving.Status, OSavingsStatus.Closed); }