Exemplo n.º 1
0
        Test3()     //Проверим депозитные счета, статус счёта должен быть sleep до момента окончания начисления денег
        {
            DateTime futureDateTime  = new DateTime(2021, 10, 2);
            DateTime futureDateTime2 = new DateTime(2021, 9, 2);
            DateTime futureDateTime3 = new DateTime(2021, 10, 3);

            List <(double, double)> TermForfirstBank = new List <(double, double)>();

            TermForfirstBank.Add((10000, 0.05));
            TermForfirstBank.Add((20000, 0.10));
            TermForfirstBank.Add((5000, 0.01));

            Bank alfaBank = new Bank(TermForfirstBank, 0.1, 0.02, 10000, 3000);

            IAbstractBank firstBank = alfaBank;

            Adress       newAdress       = new Adress("Невского", 10, "Питер");
            PassportData firstPersonData = new PassportData(1111, 22222);
            Person       Andrey          = new Person("Андрей", "Загудько", newAdress, firstPersonData);

            Client clientAndrey = firstBank.CreateClient(Andrey);

            firstBank.AddDepositAccount(clientAndrey, 300000, DateTime.Now,
                                        futureDateTime); //клиент, стартовая сумма(она же определяет процент), дата начала, дата окончания.
            BankAccount firstAndreyAccount = clientAndrey.Accounts.ElementAt(0);

            firstBank.RefreshInfoAboutAccount(firstAndreyAccount, futureDateTime2);

            Assert.AreEqual(600000, firstAndreyAccount.AccountStatus);       //наш счёт по состоянию на futureDateTime2
            Assert.AreEqual(AccountStatus.Sleep, firstAndreyAccount.Status); // должен быть Sleep.

            firstBank.RefreshInfoAboutAccount(firstAndreyAccount, futureDateTime3);
            Assert.AreEqual(AccountStatus.Active, firstAndreyAccount.Status); // Изменился на Active?
        }
Exemplo n.º 2
0
        public void Test2() //Проверяем начисление процента на остаток // Дебитовый счёт
        {
            List <(double, double)> TermForfirstBank = new List <(double, double)>();

            TermForfirstBank.Add((10000, 0.1));
            TermForfirstBank.Add((20000, 0.2));

            Bank alfaBank = new Bank(TermForfirstBank, 0.1, 0.02, 10000, 3000);

            IAbstractBank firstBank = alfaBank;

            Adress       newAdress       = new Adress("Невского", 10, "Питер");
            PassportData firstPersonData = new PassportData(1111, 22222);
            Person       Andrey          = new Person("Андрей", "Загудько", newAdress, firstPersonData);

            Client clientAndrey = firstBank.CreateClient(Andrey);

            firstBank.AddDebitAccount(clientAndrey, DateTime.Now);

            BankAccount firstAndreyAccount = clientAndrey.Accounts.ElementAt(0);

            firstBank.Replenishment(firstAndreyAccount, 1000);


            DateTime futureDateTime = new DateTime(2021, 10, 2);

            firstBank.RefreshInfoAboutAccount(firstAndreyAccount, futureDateTime);
            Assert.AreEqual(1220,
                            firstAndreyAccount
                            .AccountStatus); // узнаем какой будет счёт после начисления процента на остаток в октябре 21 года


            DateTime futureDateTime2 = new DateTime(2021, 12, 2);

            firstBank.RefreshInfoAboutAccount(firstAndreyAccount, futureDateTime2);
            Assert.AreEqual(1293.2, firstAndreyAccount.AccountStatus); // Какой будет счёт ещё через два месяца.


            Assert.Pass();
        }