public void RemoveCoinTest() { //Arrange int coinCountOrig, coinCountAfterPenny, coinCountAfterFiveMorePennies; int numPennies = 5; Double valueOrig, valueAfterPenny, valueAfterFiveMorePennies; Double valueAfterNickel, valueAfterDime, valueAfterQuarter, valueAfterDollar; repo = new CurrencyRepo(); //reset repo //add some coins repo.AddCoin(penny); for (int i = 0; i < numPennies; i++) { repo.AddCoin(penny); } repo.AddCoin(nickel); repo.AddCoin(dime); repo.AddCoin(quarter); repo.AddCoin(dollarCoin); //Act coinCountOrig = repo.GetCoinCount(); valueOrig = repo.TotalValue(); repo.RemoveCoin(penny); coinCountAfterPenny = repo.GetCoinCount(); valueAfterPenny = repo.TotalValue(); for (int i = 0; i < numPennies; i++) { repo.RemoveCoin(penny); } coinCountAfterFiveMorePennies = repo.GetCoinCount(); valueAfterFiveMorePennies = repo.TotalValue(); repo.RemoveCoin(nickel); valueAfterNickel = repo.TotalValue(); repo.RemoveCoin(dime); valueAfterDime = repo.TotalValue(); repo.RemoveCoin(quarter); valueAfterQuarter = repo.TotalValue(); repo.RemoveCoin(dollarCoin); valueAfterDollar = repo.TotalValue(); //Assert Assert.AreEqual(coinCountOrig - 1, coinCountAfterPenny); Assert.AreEqual(coinCountAfterPenny - numPennies, coinCountAfterFiveMorePennies); Assert.AreEqual(valueOrig - penny.MonetaryValue, valueAfterPenny); Assert.AreEqual(valueAfterPenny - (numPennies * penny.MonetaryValue), valueAfterFiveMorePennies); //Assert.AreEqual(valueAfterFiveMorePennies - nickel.MonetaryValue, valueAfterNickel); //HUH? 1.35 != 1.35 both are double? Assert.AreEqual(valueAfterNickel - dime.MonetaryValue, valueAfterDime); Assert.AreEqual(valueAfterDime - quarter.MonetaryValue, valueAfterQuarter); Assert.AreEqual(valueAfterQuarter - dollarCoin.MonetaryValue, valueAfterDollar); }
public ActionResult Delete(string id, IFormCollection collection, [FromServices] CurrencyRepo repo) { try { // TODO: Add delete logic here repo.RemoveCoin(repo.Coins.Where(c => c.Name == id).FirstOrDefault()); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }