Ejemplo n.º 1
0
        public void Refill_Plus12000()
        {
            AccumulationAccount AA1 = new AccumulationAccount(id: 1, client: "Ivanov", firstBalance: 12000, interestRate: 0.12);

            AA1.Refill(12000);
            Assert.AreEqual(24000, AA1.Balance, "Баланс счета неверный");
        }
Ejemplo n.º 2
0
        public void Refill_0_Plus_MaxDouble()
        {
            AccumulationAccount AA1 = new AccumulationAccount(id: 1, client: "Ivanov", firstBalance: 0, interestRate: 0.12);

            AA1.Refill(double.MaxValue);
            Assert.AreEqual(double.MaxValue, AA1.Balance, "Баланс счета неверный");
        }
Ejemplo n.º 3
0
        public void Refill_ArchivAccount()
        {
            AccumulationAccount AA1 = new AccumulationAccount(id: 1, client: "Ivanov", firstBalance: 0, interestRate: 0.12);

            AA1.CloseBankAccount();
            Assert.Throws <InvalidOperationException>(() => AA1.Refill(double.MaxValue));
        }
        public void InterestCapitalizationCloseAccount()
        {
            AccumulationAccount account = new AccumulationAccount(Guid.NewGuid(), 1000, 10, 10);

            account.Close();

            account.InterestCapitalization();
        }
Ejemplo n.º 5
0
        public void TestRefill()
        {
            AccumulationAccount AA1 = new AccumulationAccount(id: 1, client: "Ivanov", firstBalance: 120000, interestRate: 0.12);
            AccumulationAccount AA2 = new AccumulationAccount(id: 2, client: "Ivanov", firstBalance: 120000, interestRate: 0.12);

            AA1.Refill(1000);
            Assert.AreEqual(121000, AA1.Balance);
        }
Ejemplo n.º 6
0
        public void AddHugeFounds()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 00.00, false, 100.00, 10.1);

            testAccount.AddFunds(1000000000000);

            const double expectedSum = 1000000000000;

            Assert.IsTrue(Math.Abs(testAccount.Sum - expectedSum) <= 1e-7, $"Фактическая сумма на счете {testAccount.Sum} отличается от ожидаемой {expectedSum}");
        }
Ejemplo n.º 7
0
        public void WithdrawFoundsМoreFirstContributionToAccumulationAccount()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 1100, false, 100.00, 20.1);

            string expectedExceptionMessage = $"Невозможно провести списание. Остаток на счете {testAccount.Sum} не может быть меньше первоначального взноса{testAccount.FirstСontribution}";

            var factException = Assert.Throws <InvalidOperationException>(() => testAccount.WithdrawFunds(1100));

            Assert.That(factException.Message, Is.EqualTo(expectedExceptionMessage));
        }
Ejemplo n.º 8
0
        public void WithdrawFoundsBalanceEqualFirstContributionToAccumulationAccount()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 1100, false, 100.00, 20.1);

            testAccount.WithdrawFunds(1000.00);

            const double expectedSum = 100.00;

            Assert.IsTrue(Math.Abs(testAccount.Sum - expectedSum) <= 1e-7, $"Фактическая сумма на счете {testAccount.Sum} отличается от ожидаемой {expectedSum}");
        }
Ejemplo n.º 9
0
        public void EditFirstСontributionWhithCheepFounds()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 1000.00, false, 100.00, 20.1);

            testAccount.EditFirstСontribution(00.01);

            const double expectedFirstСontribution = 00.01;

            Assert.IsTrue(Math.Abs(testAccount.FirstСontribution - expectedFirstСontribution) <= 1e-7,
                          $"Фактическая сумма первоначального взноса {testAccount.FirstСontribution} отличается от ожидаемой {expectedFirstСontribution}");
        }
Ejemplo n.º 10
0
        public void TransactionToNullSenderAccount()
        {
            SavingAccount       accountSender    = null;
            AccumulationAccount accountRecipient = new AccumulationAccount(2, "Test2", 00.00, false, 100.22, 10.1);

            const string expectedExceptionMessage = "sender\r\nИмя параметра: Переданое значение NULL";

            var factException = Assert.Throws <ArgumentNullException>(() => Bank.Transaction(accountSender, accountRecipient, 100.11));

            Assert.That(factException.Message, Is.EqualTo(expectedExceptionMessage));
        }
Ejemplo n.º 11
0
        public void CapitalizationPercetnsWhithMinimumDates()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 300099, false, 100.00, 20.1);

            testAccount.CapitalizationPercetns(1, 365);

            const double expectedSum = 165.26;

            Assert.IsTrue(Math.Abs(testAccount.Sum - expectedSum) <= 1e-5,
                          $"Фактическая сумма {testAccount.Sum} отличается от ожидаемой {expectedSum}");
        }
Ejemplo n.º 12
0
        public void EditPercentRateWhithZeroPercents()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 1000.00, false, 100.00, 20.1);

            testAccount.EditPercentRate(00.00);

            const double expectedPercentRate = 00.00;

            Assert.IsTrue(Math.Abs(testAccount.PercentRate - expectedPercentRate) <= 1e-7,
                          $"Фактическая процентная ставка {testAccount.PercentRate} отличается от ожидаемой {expectedPercentRate}");
        }
Ejemplo n.º 13
0
        public void EditPercentRateOnClosedAccount()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 100.00, true, 100.00, 20.1);

            string expectedExceptionMessage =
                $"Счет {testAccount.Id} закрыт, операция не может быть произведена.";

            var factException =
                Assert.Throws <InvalidOperationException>(() => testAccount.EditPercentRate(50));

            Assert.That(factException.Message, Is.EqualTo(expectedExceptionMessage));
        }
Ejemplo n.º 14
0
        public void EditPercentRateWithOverHugePercents()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 100.00, false, 100.00, 20.1);

            const string expectedExceptionMessage =
                "Заданный аргумент находится вне диапазона допустимых значений.\r\nИмя параметра: Процентная ставка не может быть больше 100 %";

            var factException =
                Assert.Throws <ArgumentOutOfRangeException>(() => testAccount.EditPercentRate(101));

            Assert.That(factException.Message, Is.EqualTo(expectedExceptionMessage));
        }
Ejemplo n.º 15
0
        public void CapitalizationPercetnsWhithNegativeDaysInYear()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 1000, false, 100.00, 20.1);

            const string expectedExceptionMessage =
                "Заданный аргумент находится вне диапазона допустимых значений.\r\nИмя параметра: Введено неверное количество дней в году, доступные значения 365 или 356 дней";

            var factException =
                Assert.Throws <ArgumentOutOfRangeException>(() => testAccount.CapitalizationPercetns(20, 368));

            Assert.That(factException.Message, Is.EqualTo(expectedExceptionMessage));
        }
Ejemplo n.º 16
0
        public void EditFirstСontributionWithZeroFounds()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 100.00, false, 100.00, 20.1);

            const string expectedExceptionMessage =
                "Заданный аргумент находится вне диапазона допустимых значений.\r\nИмя параметра: Невозможно изменить сумму первоначального взноса. Сумма первоначального взнос не может быть меньше 0,01.";

            var factException =
                Assert.Throws <ArgumentOutOfRangeException>(() => testAccount.EditFirstСontribution(0));

            Assert.That(factException.Message, Is.EqualTo(expectedExceptionMessage));
        }
Ejemplo n.º 17
0
        public void CapitalizationPercetnsWhithExtraNegativeDaysInMonth()
        {
            AccumulationAccount testAccount = new AccumulationAccount(2, "Test2", 1000, false, 100.00, 20.1);

            const string expectedExceptionMessage =
                "Заданный аргумент находится вне диапазона допустимых значений.\r\nИмя параметра: Количество дней в месяце не может быть меньше или равно нулю";

            var factException =
                Assert.Throws <ArgumentOutOfRangeException>(() => testAccount.CapitalizationPercetns(-35, 365));

            Assert.That(factException.Message, Is.EqualTo(expectedExceptionMessage));
        }
Ejemplo n.º 18
0
        public void PositiveTransaction()
        {
            SavingAccount       accountSender    = new SavingAccount(1, "Test1", 1000.11, false);
            AccumulationAccount accountRecipient = new AccumulationAccount(2, "Test2", 00.00, false, 100.22, 10.1);

            Bank.Transaction(accountSender, accountRecipient, 100.11);

            const double expectedAccountSenderSum    = 900.00;
            const double expectedaccountRecipientSum = 100.11;

            Assert.IsTrue(Math.Abs(accountSender.Sum - expectedAccountSenderSum) <= 1e-7, $"Фактическая сумма на счете {accountSender.Sum} отличается от ожидаемой {expectedAccountSenderSum}");

            Assert.IsTrue(Math.Abs(accountRecipient.Sum - expectedaccountRecipientSum) <= 1e-7, $"Фактическая сумма на счете {accountRecipient.Sum} отличается от ожидаемой {expectedaccountRecipientSum}");
        }
Ejemplo n.º 19
0
        public void Refill_MaxDouble()
        {
            AccumulationAccount AA1 = new AccumulationAccount(id: 1, client: "Ivanov", firstBalance: double.MaxValue, interestRate: 0.12);

            Assert.Throws <ArgumentOutOfRangeException>(() => AA1.Refill(double.MaxValue));
        }
Ejemplo n.º 20
0
        public void Refill_Minus12000()
        {
            AccumulationAccount AA1 = new AccumulationAccount(id: 1, client: "Ivanov", firstBalance: 12000, interestRate: 0.12);

            Assert.Throws <ArgumentOutOfRangeException>(() => AA1.Refill(-12000));
        }
        ///Cнять меньше, чем первоначальная сумма взона. Для накопительных банковсхи счетов
        ///
        public void WriteOffAccumulationAccount()
        {
            AccumulationAccount AA1 = new AccumulationAccount(id: 1, client: "Ivanov", firstBalance: 12000, interestRate: 0.12);

            Assert.Throws <ArgumentOutOfRangeException>(() => AA1.WriteOff(500));
        }
Ejemplo n.º 22
0
        public bool CreateAccumulationAccount()
        {
            AccumulationAccount accumulationAccount = new AccumulationAccount();

            return(AddAccount(accumulationAccount));
        }