Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Bankaccount account = new Bankaccount("123-4567890-12");

            account.Deposit(200M);
            Console.WriteLine(WriteBalance(account));
            account.Withdraw(69M);
            Console.WriteLine(WriteBalance(account));
        }
        public void Bankaccount_can_deposit()
        {
            var ba = new Bankaccount();

            ba.Deposit(5m);
            Assert.AreEqual(5m, ba.Balance);

            ba.Deposit(3m);
            Assert.AreEqual(8m, ba.Balance); // Test für Draufaddieren
        }
        public void Bankaccount_can_Withdraw()
        {
            var ba = new Bankaccount(10m);

            ba.Withdraw(3m);
            Assert.AreEqual(7m, ba.Balance);

            ba.Withdraw(5m);
            Assert.AreEqual(2m, ba.Balance);
        }
        public void Bankaccount_Deposit_0_does_not_change_Balance()
        {
            var ba = new Bankaccount();

            ba.Deposit(5m); // Startwert

            var oldValue = ba.Balance;

            ba.Deposit(0m);

            Assert.AreEqual(oldValue, ba.Balance);
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            Bankaccount b1 = new Bankaccount();

            Console.WriteLine(b1.balanceinquiry());

            b1.cashdeposit(1500000);
            Console.WriteLine(b1.balanceinquiry());
            b1.cashdraft(750000);
            Console.WriteLine(b1.balanceinquiry());


            Console.ReadLine();
        }
        public void OpeningHours_IsNowOpen()
        {
            var oh = new OpeningHours();

            // Interpretationsproblem: zwischen 14:00 und 17:00 ists True, ansonsten False
            // Abhängigkeit auf DateTime.Now auflösen
            // 1) Fakes-Framework (VS Enterprise)
            // 2) Pose (Kostenlos)
            // 3) TypeMock (kostenpflichtig)

            // Variante Fakes:

            using (ShimsContext.Create())
            {
                // Nur hier drinnen sind unsere Fakes gültig

                // Nach dieser Zeile Code liefert DateTime.Now IMMER das folgend definierte Ergebnis zurück:
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2019, 1, 1, 11, 11, 59);
                var result = oh.IsNowOpen();
                Assert.IsTrue(result); // Di um 11:11 -> Offen

                // Andere feste Abhängigkeiten auflösen:
                // System.IO.File

                System.IO.Fakes.ShimFile.ExistsString = parameter => true;

                Assert.IsTrue(File.Exists("7:\\kbjasdbkjas%/@@@.jpg"));

                //System.Fakes.ShimDateTime.NowGet = () => new DateTime(2019, 1, 2, 11, 11, 59);
                //result = oh.IsNowOpen();
                //Assert.IsTrue(result); // Di um 11:11 -> Offen
            }

            // Nach dem Using: Alles wieder wie Normal !
            // Zusammengefasst:
            // Perfekt um Daten zu Simulieren
            // Sensor sagt: "zu kalt", "zu warm", "es BRENNT", --keine daten--  => Grenzfälle simulieren
            // Ideal: keine "echte Datenbankverbindung" => sehr schnelle Daten

            // Fake auf einer Instanz:

            using (ShimsContext.Create())
            {
                LehmanBrothersReloaded.Fakes.ShimBankaccount.AllInstances.BalanceGet = x => 100_000_000m;

                var ba = new Bankaccount(); // realer Kontostand: 0

                Assert.AreEqual(Wealth.FilthyRich, ba.Wealth);
            }
        }
Exemplo n.º 7
0
 private static string WriteBalance(Bankaccount account)
 {
     return($"Balance is {account.Balance}");
 }
        public void Bankaccount_Withdraw_negative_value_throws_ArgumentException()
        {
            var ba = new Bankaccount();

            Assert.Throws <ArgumentException>(() => ba.Withdraw(-20m));
        }
        public void Bankaccount_Withdraws_more_than_balance_throws_InvalidOperationException()
        {
            var ba = new Bankaccount();

            Assert.Throws <InvalidOperationException>(() => ba.Withdraw(3m));
        }
        public void Bankaccount_Deposit_negative_value_throws_ArgumentException()
        {
            var ba = new Bankaccount();

            Assert.Throws <ArgumentException>(() => ba.Deposit(-20m));
        }
        public void Bankaccount_new_account_gets_Balance_from_Constructor(decimal defaultBalance)
        {
            var ba = new Bankaccount(defaultBalance);

            Assert.AreEqual(defaultBalance, ba.Balance);
        }
        public void Bankaccount_new_account_has_0_balance()
        {
            var ba = new Bankaccount();

            Assert.Zero(ba.Balance);
        }
        public void Banaccount_Wealth_get_correct_Wealth(decimal balance, Wealth expectedResult)
        {
            var ba = new Bankaccount(balance);

            Assert.AreEqual(expectedResult, ba.Wealth);
        }