示例#1
0
        public void CloseAccount()
        {
            Currency currency = new Currency()
            {
                UseCents = false, Code = "SOM", Id = 1, IsPivot = true, Name = "SOM"
            };
            CompulsorySavingsProduct product = new CompulsorySavingsProduct();

            product.Currency = currency;

            CompulsorySavings saving = new CompulsorySavings(ApplicationSettings.GetInstance(""), ChartOfAccounts.GetInstance(new User()), new User(),
                                                             1000, new DateTime(2009, 01, 01), null)
            {
                InterestRate = 0.01, Product = product
            };

            List <SavingEvent> events = saving.Close(new DateTime(2009, 02, 26), new User()
            {
                Id = 1
            }, "Close savings contract", 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, 58);
            Assert.AreEqual(accrualEvents, 56);
            Assert.AreEqual(postingEvents, 1);
            Assert.AreEqual(saving.ChartOfAccounts.GetAccountByNumber(OAccounts.ACCOUNT_PAYABLE_INTERESTS_ON_COMPULSORY_SAVINGS, 1).Balance.Value, 0);
            Assert.AreEqual(saving.ChartOfAccounts.GetAccountByNumber(OAccounts.COMPULSORY_SAVINGS, 1).Balance.Value, 1560);
            Assert.AreEqual(saving.ChartOfAccounts.GetAccountByNumber(OAccounts.CASH, 1).Balance.Value, 1000);
            Assert.AreEqual(saving.ChartOfAccounts.GetAccountByNumber(OAccounts.INTERESTS_ON_DEPOSIT_ACCOUNT, 1).Balance.Value, 560);
            Assert.AreEqual(saving.GetBalance(), 1560);
            Assert.AreEqual(saving.Status, OSavingsStatus.Closed);
        }
示例#2
0
        public void CloseAccount()
        {
            Currency currency = new Currency() { UseCents = false, Code = "SOM", Id = 1, IsPivot = true, Name = "SOM" };
            CompulsorySavingsProduct product = new CompulsorySavingsProduct();
            product.Currency = currency;

            CompulsorySavings saving = new CompulsorySavings(ApplicationSettings.GetInstance(""), ChartOfAccounts.GetInstance(new User()), new User(),
                1000, new DateTime(2009, 01, 01), null) { InterestRate = 0.01, Product = product };

            List<SavingEvent> events = saving.Close(new DateTime(2009, 02, 26), new User() { Id = 1 }, "Close savings contract", 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, 58);
            Assert.AreEqual(accrualEvents, 56);
            Assert.AreEqual(postingEvents, 1);
            Assert.AreEqual(saving.ChartOfAccounts.GetAccountByNumber(OAccounts.ACCOUNT_PAYABLE_INTERESTS_ON_COMPULSORY_SAVINGS, 1).Balance.Value, 0);
            Assert.AreEqual(saving.ChartOfAccounts.GetAccountByNumber(OAccounts.COMPULSORY_SAVINGS, 1).Balance.Value, 1560);
            Assert.AreEqual(saving.ChartOfAccounts.GetAccountByNumber(OAccounts.CASH, 1).Balance.Value, 1000);
            Assert.AreEqual(saving.ChartOfAccounts.GetAccountByNumber(OAccounts.INTERESTS_ON_DEPOSIT_ACCOUNT, 1).Balance.Value, 560);
            Assert.AreEqual(saving.GetBalance(), 1560);
            Assert.AreEqual(saving.Status, OSavingsStatus.Closed);
        }