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