public void WithSentenceWordWithNextFollowingWord_WhenAddingSameFollowingWord_OnlyOneCopyOfWordIsContained() { // ARRANGE var word = new SentenceWord(DefaultWord); // ACT word.AddPossibleFollowingWord(PossibleNextWordA); word.AddPossibleFollowingWord(PossibleNextWordA); // ASSERT Assert.AreEqual(1, word.GetPossibleFollowingWords().Count(w => w == PossibleNextWordA)); }
public void SentenceWordCanSpecifyPossibleFollowingWords() { // ARRANGE var word = new SentenceWord(DefaultWord); // ACT word.AddPossibleFollowingWord(PossibleNextWordA); word.AddPossibleFollowingWord(PossibleNextWordB); // ASSERT Assert.IsTrue(word.GetPossibleFollowingWords().Contains(PossibleNextWordA)); Assert.IsTrue(word.GetPossibleFollowingWords().Contains(PossibleNextWordB)); }
public void SentenceWordCannotSpecifyPossibleFollowingWithSpaceInIt() { var word = new SentenceWord(DefaultWord); var exception = Assert.Throws <ArgumentOutOfRangeException>(() => word.AddPossibleFollowingWord(" ")); Assert.AreEqual("possibleNextWord", exception.ParamName); }
public void WhenExistingWordInLexiconHasPossibleFollowingWord_SameWordWithPossibleFollowingWordIsAdded() { // ARRANGE var lexicon = new Lexicon(); var sentenceWord = new SentenceWord(DefaultWord); sentenceWord.AddPossibleFollowingWord(PossibleFollowingWordOne); var updatedSentenceWord = new SentenceWord(DefaultWord); sentenceWord.AddPossibleFollowingWord(PossibleFollowingWordTwo); // ACT lexicon.ManageWord(sentenceWord); lexicon.ManageWord(updatedSentenceWord); var lexiconWord = lexicon.Words().First(); // ASSERT Assert.AreEqual(PossibleFollowingWordOne, lexiconWord.GetPossibleFollowingWords().ElementAt(0)); Assert.AreEqual(PossibleFollowingWordTwo, lexiconWord.GetPossibleFollowingWords().ElementAt(1)); }