コード例 #1
0
        public void PositiveTestZeroingAccount()
        {
            var account = new MetalAccount("acc1", "client1", MetalType.Argentum, 100, 500M);
            var result1 = account.ZeroingAccount();
            var result2 = account.ZeroingAccount();

            Assert.AreEqual(true, result1);
            Assert.AreEqual(true, result2);
            Assert.AreEqual(0M, account.AccountBalance);
            Assert.AreEqual(0L, account.MetalBalance);
        }
コード例 #2
0
        public void NegativeTestZeroingAccount()
        {
            var account = new MetalAccount("acc1", "client1", MetalType.Argentum, 0, 500M);

            account.CloseAccount();
            var result = account.ZeroingAccount();

            Assert.AreEqual(false, result);
            Assert.AreEqual(0M, account.AccountBalance);
            Assert.AreEqual(0L, account.MetalBalance);
        }
コード例 #3
0
        public void NegativeTestCloseAccount()
        {
            var account = new MetalAccount("acc1", "client1", MetalType.Argentum, 100, 500M);
            var result1 = account.CloseAccount();

            account.ZeroingAccount();
            account.CloseAccount();
            var result2 = account.CloseAccount();

            Assert.AreEqual(false, result1);
            Assert.AreEqual(false, result2);
        }
コード例 #4
0
        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);
        }