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); }
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); } }
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); }