public void TestAmoutAvaibleReturnsValueOfAllCoinsInTheReturnMulitpleCoins() { CoinReturn coinReturn = new CoinReturn(); MockCoin mockCoinOne = new MockCoin() { ValueToReturn = 1.00m }; MockCoin mockCoinTwo = new MockCoin() { ValueToReturn = 99.28m }; MockCoin mockCoinThree = new MockCoin() { ValueToReturn = 123.123m }; decimal expectedValue = mockCoinOne.ValueToReturn + mockCoinTwo.ValueToReturn + mockCoinThree.ValueToReturn; coinReturn.AddCoin(mockCoinOne); coinReturn.AddCoin(mockCoinTwo); coinReturn.AddCoin(mockCoinThree); Assert.AreEqual(expectedValue, coinReturn.AmountAvailable); }
public void TestAddPutsCoinIntoCoinList() { CoinReturn coinReturn = new CoinReturn(); MockCoin coinAdded = new MockCoin(); coinReturn.AddCoin(coinAdded); Assert.AreEqual(new List <ICoin>() { coinAdded }, coinReturn.Coins); }
public void TestClearNotifiesObservers() { CoinPurse coinPurse = new CoinPurse(); MockCoin mockCoin = new MockCoin(); MockCoinPurseObserver mockCoinPurseObserver = new MockCoinPurseObserver(); coinPurse.RegisterObserver(mockCoinPurseObserver); coinPurse.Clear(); Assert.AreEqual(1, mockCoinPurseObserver.NumberOfTimesCoinPurseUpdatedCalled); }
public void TestAmountAvailableReturnsTotalValueOfCoinsInPurse() { CoinPurse coinPurse = new CoinPurse(); decimal expectedValueOfAllCoins = 5.55m; MockCoin coinAdded = new MockCoin() { ValueToReturn = expectedValueOfAllCoins }; coinPurse.AddCoin(coinAdded); Assert.AreEqual(expectedValueOfAllCoins, coinPurse.AmountAvailable); }
public void TestAmoutAvaibleReturnsValueOfAllCoinsInTheReturn() { CoinReturn coinReturn = new CoinReturn(); decimal expectedValue = 4.00m; MockCoin mockCoinOne = new MockCoin() { ValueToReturn = expectedValue }; coinReturn.AddCoin(mockCoinOne); Assert.AreEqual(expectedValue, coinReturn.AmountAvailable); }
public void TestClearReturnsAllCoinsAndEmptiesPurse() { CoinPurse coinPurse = new CoinPurse(); MockCoin mockCoin = new MockCoin(); coinPurse.AddCoin(mockCoin); List <ICoin> coinsReturnedFromClear = coinPurse.Clear(); Assert.AreEqual(1, coinsReturnedFromClear.Count); Assert.AreEqual(mockCoin, coinsReturnedFromClear[0]); Assert.AreEqual(0, coinPurse.Coins.Count); }
public void TestClearEmptiesCoinList() { CoinReturn coinReturn = new CoinReturn(); MockCoin firstCoinAdded = new MockCoin(); MockCoin secondCoinAdded = new MockCoin(); MockCoin thirdCoinAdded = new MockCoin(); coinReturn.AddCoin(firstCoinAdded); coinReturn.AddCoin(secondCoinAdded); coinReturn.AddCoin(thirdCoinAdded); coinReturn.Clear(); Assert.AreEqual(new List <ICoin>(), coinReturn.Coins); }
public void TestAcceptAddsCoinReturnedByCoinFactoryToCoinPurseIfItHasValue() { MockCoinFactory mockCoinFactory = new MockCoinFactory(); MockCoinPurse mockCoinPurse = new MockCoinPurse(); MockCoin expectedCoin = new MockCoin { ValueToReturn = decimal.MaxValue }; mockCoinFactory.CoinToReturn = expectedCoin; CoinAccepter coinAccepter = new CoinAccepter(mockCoinFactory, mockCoinPurse, new MockCoinReturn()); coinAccepter.Accept(CoinSize.Tiny); Assert.AreEqual(1, mockCoinPurse.NumberOfTimesAddCoinWasCalled); Assert.AreEqual(1, mockCoinPurse.CoinsPassedToAddCoin.Count); Assert.AreEqual(expectedCoin, mockCoinPurse.CoinsPassedToAddCoin[0]); }
public void TestCoinWithNoValueIsPutIntoTheCoinReturnAndNotTheCoinPurse(decimal coinValue) { MockCoinFactory mockCoinFactory = new MockCoinFactory(); MockCoinPurse mockCoinPurse = new MockCoinPurse(); MockCoinReturn mockCoinReturn = new MockCoinReturn(); MockCoin mockCoin = new MockCoin { ValueToReturn = coinValue }; mockCoinFactory.CoinToReturn = mockCoin; CoinAccepter coinAccepter = new CoinAccepter(mockCoinFactory, mockCoinPurse, mockCoinReturn); coinAccepter.Accept(CoinSize.Large); Assert.AreSame(mockCoin, mockCoinReturn.CoinsPassedToAddCoin[0]); Assert.AreEqual(1, mockCoinReturn.NumberOfTimesAddCoinCalled); Assert.AreEqual(0, mockCoinPurse.NumberOfTimesAddCoinWasCalled); Assert.AreEqual(0, mockCoinPurse.Coins.Count); }
public void TestAddPutsCoinIntoCoinListMultipleCoins() { CoinReturn coinReturn = new CoinReturn(); MockCoin firstCoinAdded = new MockCoin(); MockCoin secondCoinAdded = new MockCoin(); MockCoin thirdCoinAdded = new MockCoin(); List <ICoin> expectedCoins = new List <ICoin>() { firstCoinAdded, secondCoinAdded, thirdCoinAdded }; coinReturn.AddCoin(firstCoinAdded); coinReturn.AddCoin(secondCoinAdded); coinReturn.AddCoin(thirdCoinAdded); Assert.AreEqual(expectedCoins, coinReturn.Coins); }
public void TestAmountAvailableReturnsTotalValueOfCoinsInPurseMultipleCoins() { CoinPurse coinPurse = new CoinPurse(); decimal expectedValueOfAllCoins = 0; const decimal firstCoinValue = 1.25m; MockCoin firstCoinAdded = new MockCoin() { ValueToReturn = firstCoinValue }; expectedValueOfAllCoins += firstCoinValue; const decimal secondCoinValue = 0.25m; MockCoin secondCoinAdded = new MockCoin() { ValueToReturn = secondCoinValue }; expectedValueOfAllCoins += secondCoinValue; const decimal thirdCoinValue = 4.25m; MockCoin thirdCoinAdded = new MockCoin() { ValueToReturn = thirdCoinValue }; expectedValueOfAllCoins += thirdCoinValue; coinPurse.AddCoin(firstCoinAdded); coinPurse.AddCoin(secondCoinAdded); coinPurse.AddCoin(thirdCoinAdded); Assert.AreEqual(expectedValueOfAllCoins, coinPurse.AmountAvailable); }