public void TestCaseTwo() { visa.AddCard(new CreditCard(100)); mastercard.AddCard(new CreditCard(100)); discover.AddCard(new CreditCard(100)); var person = new Person(); var walletA = new Wallet(); walletA.AddCardType(visa); walletA.AddCardType(discover); person.AddWallet(walletA); var walletB = new Wallet(); walletB.AddCardType(mastercard); person.AddWallet(walletB); Assert.Multiple(() => { // 1 month of interest for all three cards should equal $16 Assert.That(person.CalculateInterest(1), Is.EqualTo(16.0f)); Assert.That(walletA.Interest(1), Is.EqualTo(11.0f)); Assert.That(walletB.Interest(1), Is.EqualTo(5.0f)); }); }
public void TestCaseThree() { var personA = new Person(); var walletA = new Wallet(); visa.AddCard(new CreditCard(100)); mastercard.AddCard(new CreditCard(100)); var mastercardA2 = new CreditCardType("MasterCard", 0.05f); mastercardA2.AddCard(new CreditCard(100)); // Challenge states 'person 1 has 1 wallet , with 2 cards MC and visa' // I assume 2 MC and 1 visa with a total of three cards walletA.AddCardType(visa); walletA.AddCardType(mastercard); walletA.AddCardType(mastercardA2); personA.AddWallet(walletA); var personB = new Person(); var walletB = new Wallet(); var visaB = new CreditCardType("Visa", 0.10f); var mastercardB = new CreditCardType("MasterCard", 0.05f); visaB.AddCard(new CreditCard(100)); mastercardB.AddCard(new CreditCard(100)); walletB.AddCardType(visaB); walletB.AddCardType(mastercardB); personB.AddWallet(walletB); Assert.Multiple(() => { Assert.That(personA.CalculateInterest(1), Is.EqualTo(20.0f)); Assert.That(personB.CalculateInterest(1), Is.EqualTo(15.0f)); Assert.That(walletA.Interest(1), Is.EqualTo(20.0f)); Assert.That(walletB.Interest(1), Is.EqualTo(15.0f)); }); }