예제 #1
0
        public void VerifyWhenPaperIsInitializedThenTextOnPaperCanBeRead()
        {
            PencilDurability pencilDurability = new PencilDurability(1, 1, 10);
            string           paper            = "Test paper";

            pencilDurability.InitializePaper(paper);
            Assert.Equal("Test paper", pencilDurability.GetPaperText());
        }
예제 #2
0
        public void VerifyPencilAppendsTextToPaperWithExistingText()
        {
            PencilDurability pencilDurability = new PencilDurability(10, 1, 10);
            string           paper            = "Test paper";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Write(" appending");
            Assert.Equal("Test paper appending", pencilDurability.GetPaperText());
        }
예제 #3
0
        public void VerifyWhenEditingPaperAndNextTextCollidesWithTwoExistingWordsNextTextFillsWhiteSpaceAndAtSymbolReplacesCollidingLetters()
        {
            PencilDurability pencilDurability = new PencilDurability(10, 1, 1);
            string           paper            = "There is not room";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Edit(8, "enough");
            Assert.Equal("There ise@@@g@oom", pencilDurability.GetPaperText());
        }
예제 #4
0
        public void VerifyWhenEditingTextAndPencilDurabilityIsZeroAndNewTextWouldHaveCollidedWithExistingTextResultingPaperOriginalTextRemains()
        {
            PencilDurability pencilDurability = new PencilDurability(0, 1, 1);
            string           paper            = "There is not room";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Edit(0, "edit");
            Assert.Equal(paper, pencilDurability.GetPaperText());
        }
예제 #5
0
        public void VerifyWhenPaperIsEditWithPencilDurabilityFourAndThreeUppercaseLettersOnlyFirstTwoCharactersAdded()
        {
            PencilDurability pencilDurability = new PencilDurability(4, 1, 3);
            string           paper            = "This is     paper";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Edit(8, "THE");
            Assert.Equal("This is TH  paper", pencilDurability.GetPaperText());
        }
예제 #6
0
        public void VerifyWhenEditingPaperAndNewTextCollidesWithExistingTextAtSymbolIsWrittenInThatPosition()
        {
            PencilDurability pencilDurability = new PencilDurability(10, 1, 1);
            string           paper            = "There is not      room";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Edit(13, "enough");
            Assert.Equal("There is not enoug@oom", pencilDurability.GetPaperText());
        }
예제 #7
0
        public void VerifyWhenPaperHasFiveConsecutiveWhiteSpacesWordTheCanBeAddedToMiddleThreeWhiteSpacesOnPaper()
        {
            PencilDurability pencilDurability = new PencilDurability(10, 1, 3);
            string           paper            = "This is     paper";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Edit(8, "the");
            Assert.Equal("This is the paper", pencilDurability.GetPaperText());
        }
예제 #8
0
        public void VerifyWhenPaperIsEditedWithThreeUppercaseLettersPencilDurabilityGoesDownBySix()
        {
            PencilDurability pencilDurability = new PencilDurability(10, 1, 3);
            string           paper            = "This is     paper";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Edit(8, "THE");
            Assert.Equal(4, pencilDurability.GetPencilDurability());
        }
예제 #9
0
        public void VerifyWhenEraserDurabilityIsThreeAndBillIsErasedThenOnlyFirstLetterOfBillRemains()
        {
            PencilDurability pencilDurability = new PencilDurability(10, 1, 3);
            string           paper            = "Buffalo Bill";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Erase("Bill");
            Assert.Equal("Buffalo B   ", pencilDurability.GetPaperText());
        }
예제 #10
0
        public void VerifyWhenEraserDurabilityIsFiveAndWordBillIsErasedWithSpaceThenEraserDurabilityIsOne()
        {
            PencilDurability pencilDurability = new PencilDurability(10, 1, 5);
            string           paper            = "Buffalo Bill";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Erase(" Bill");
            Assert.Equal(1, pencilDurability.GetEraserDurability());
        }
예제 #11
0
        public void VerifyWhenEraserDurabilityIsFourAndWordBillIsErasedThenEraserDurabilityIsZero()
        {
            PencilDurability pencilDurability = new PencilDurability(10, 1, 4);
            string           paper            = "Buffalo Bill";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Erase("Bill");
            Assert.Equal(0, pencilDurability.GetEraserDurability());
        }
예제 #12
0
        public void VerifyWhenTheWordTestIsErasedThenLastOccurrenceOfTestOnPaperIsReplacedWithWhitespace()
        {
            PencilDurability pencilDurability = new PencilDurability(10, 1, 10);
            string           paper            = "Test my eraser test";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Erase("test");
            Assert.Equal("Test my eraser     ", pencilDurability.GetPaperText());
        }
예제 #13
0
        public void VerifyWhenWordOccursTwiceOnPaperAndEraseCalledTwiceForThatWordBothOccurrencesAreErased()
        {
            PencilDurability pencilDurability = new PencilDurability(10, 1, 10);
            string           paper            = "test my eraser test";

            pencilDurability.InitializePaper(paper);
            pencilDurability.Erase("test");
            pencilDurability.Erase("test");
            Assert.Equal("     my eraser     ", pencilDurability.GetPaperText());
        }