public void PositiveTestWithdrawFunds() { var account = new MetalAccount("acc1", "client1", MetalType.Platinum, 0, 2500M); account.AddFunds(5000M); var result1 = account.WithdrawFunds(2500M); var result2 = account.WithdrawFunds(0); Assert.AreEqual(true, result1); Assert.AreEqual(true, result2); Assert.AreEqual(2500M, account.AccountBalance); Assert.AreEqual(1L, account.MetalBalance); }
public void WithdrawFoundsToMetalAccount() { MetalAccount testAccount = new MetalAccount(2, "Test2", 00.00, false, 10.00, "Uran", 100); testAccount.WithdrawFunds(100.00); const double expectedSum = 900; const double expectedGramms = 9; Assert.IsTrue(Math.Abs(testAccount.Sum - expectedSum) <= 1e-5, $"Фактическая сумма на счете {testAccount.Sum} отличается от ожидаемой {expectedSum}"); Assert.IsTrue(Math.Abs(testAccount.GrammsMetal - expectedGramms) <= 1e-5, $"Фактическое количество грамм на счете {testAccount.GrammsMetal} отличается от ожидаемого {expectedGramms}"); }
public void NegativeTestWithdrawFunds() { var account = new MetalAccount("acc1", "client1", MetalType.Aurum, 0, 1500M); account.AddFundsInMetal(1); var result1 = account.WithdrawFunds(3000M); Assert.AreEqual(false, result1); Assert.AreEqual(1500M, account.AccountBalance); Assert.AreEqual(1, account.MetalBalance); try { account.WithdrawFunds(-1500M); Assert.Fail(); } catch (InvalidOperationException) { } try { account.WithdrawFunds(1000M); Assert.Fail(); } catch (InvalidOperationException) { } Assert.AreEqual(1500M, account.AccountBalance); Assert.AreEqual(1, account.MetalBalance); account.ZeroingAccount(); account.CloseAccount(); var result2 = account.WithdrawFunds(1500M); Assert.AreEqual(false, result2); Assert.AreEqual(0M, account.AccountBalance); Assert.AreEqual(0L, account.MetalBalance); }