public void GivenASheetOfPaperWithWritingOnIt_WhenEraseIsCalledTwice_ThenTheLastOccurenceOfTheTextIsRemovedThenTheNextOccurence() { var pencil = new Pencil(); var paper = new Paper("How much wood would a woodchuck chuck if a woodchuck could chuck wood?"); pencil.EraseOn("chuck", paper); pencil.EraseOn("chuck", paper); Assert.Equal("How much wood would a woodchuck chuck if a wood could wood?", paper.Show()); }
public void GivenAPencil_WhenInstructedToErase_ThenThePencilWillCallEraseOnTheSurface() { _paperMock.Setup(t => t.Show()).Returns("Food"); var sequence = new MockSequence(); _paperMock.InSequence(sequence).Setup(s => s.Erase(3)); _paperMock.InSequence(sequence).Setup(s => s.Erase(2)); _paperMock.InSequence(sequence).Setup(s => s.Erase(1)); _paperMock.InSequence(sequence).Setup(s => s.Erase(0)); _sut.EraseOn("Food", _paperMock.Object); _paperMock.Verify(t => t.Erase(3), Times.Once); _paperMock.Verify(t => t.Erase(2), Times.Once); _paperMock.Verify(t => t.Erase(1), Times.Once); _paperMock.Verify(t => t.Erase(0), Times.Once); }
public void GivenASheetOfPaperWithWritingOnIt_WhenTheEraserIsLow_ThenPartialWordsAreErased() { var pencil = new Pencil(eraserDurability: 3); var paper = new Paper("Buffalo Bill"); pencil.EraseOn("Bill", paper); Assert.Equal("Buffalo B ", paper.Show()); }
public void GivenAPenAndPaperWithInitialText_WhenThePencilErasesAString_ThenTheTextIsReplaceWithSpacesOnThePaper() { var pencil = new Pencil(); var paper = new Paper("She sells sea shells"); pencil.EraseOn("shells", paper); Assert.Equal("She sells sea ", paper.Show()); }
public void GivenAPencil_WhenEraseIsCalledWithNoDurability_ThenNothingWillHappen() { _sut = new Pencil(eraserDurability: 0); _paperMock.Setup(t => t.Show()).Returns("here"); _sut.EraseOn("here", _paperMock.Object); _paperMock.Verify(t => t.Erase(0), Times.Never); _paperMock.Verify(t => t.Erase(1), Times.Never); _paperMock.Verify(t => t.Erase(2), Times.Never); _paperMock.Verify(t => t.Erase(3), Times.Never); }
public void GivenAPencil_WhenEraseIsCalledWithLowDurability_ThenOnlyPartialIsErased() { _sut = new Pencil(eraserDurability: 2); _paperMock.Setup(t => t.Show()).Returns("here"); var sequence = new MockSequence(); _paperMock.InSequence(sequence).Setup(s => s.Erase(3)); _paperMock.InSequence(sequence).Setup(s => s.Erase(2)); _sut.EraseOn("here", _paperMock.Object); _paperMock.Verify(t => t.Erase(0), Times.Never); _paperMock.Verify(t => t.Erase(1), Times.Never); }