Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
 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);
 }
Esempio n. 6
0
        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);
        }