public void Test_GenerateWords_CorrectNumber() { MarkovGenerator gen = InitBaseMarkovGenerator(); List<char> correctSplit = new List<char>(); correctSplit.Add(' '); correctSplit.AddRange(_defaultSentenceEnd); correctSplit.AddRange(_defaultPunctuation); string[] correctWords = _simpleString.Split(correctSplit.ToArray()); string[] correctWordsLower = new string[correctWords.Length] ; for(int i = 0 ; i < correctWords.Length ; i++) { correctWordsLower[i] = correctWords[i].ToLowerInvariant() ; } string[] words = gen.GenerateWords(20).Split(new char[]{' '}); Assert.AreEqual(20, words.Length); foreach (string word in words) { CollectionAssert.DoesNotContain(_defaultPunctuation, word); CollectionAssert.DoesNotContain(_defaultSentenceEnd, word); CollectionAssert.Contains(correctWordsLower, word); } }
public void Test_GetNumWords_NegativeNumWords() { MarkovGenerator gen = InitBaseMarkovGenerator() ; Assert.Throws<Exceptions.InvalidArguments>(delegate { gen.GenerateWords(-2); }); }