public void GeneratePoemLineInvalidTypeTest() { //Arrange document.Setup(d => d.GetNextElements(PartOfSpeech.Noun.ToString())).Returns(new List <string>() { "InvalidEnumTypeWord" }); PoemGen poemGenerator = new PoemGen( dictionaryRepository.Object, config.Object, converter.Object, footRandomGenerator.Object, nodeRandomGenerator.Object, wordRandomGenerator.Object); //Act poemGenerator.GeneratePoemLine("x-x-x", document.Object); //Assert dictionaryRepository.Verify(mock => mock.GetWords("x,-", PartOfSpeech.Noun), Times.Exactly(1)); dictionaryRepository.Verify(mock => mock.GetWords("x,-", PartOfSpeech.Verb), Times.Never); footRandomGenerator.Verify(mock => mock.Generate(1, 2), Times.Exactly(1)); wordRandomGenerator.Verify(mock => mock.Generate(0, 1), Times.Never); nodeRandomGenerator.Verify(mock => mock.Generate(0, 1), Times.Exactly(1)); config.Verify(mock => mock.MaxSyllablesCount, Times.AtLeast(1)); }
public void GeneratePoemLineBreakTest() { //Arrage config.Setup(m => m.MaxSyllablesCount).Returns(3); footRandomGenerator.Setup(m => m.Generate(1, 4)).Returns(3); string expectedLine = "x-xNoun -xVerb"; PoemGen poemGenerator = new PoemGen( dictionaryRepository.Object, config.Object, converter.Object, footRandomGenerator.Object, nodeRandomGenerator.Object, wordRandomGenerator.Object); //Act string actualLine = poemGenerator.GeneratePoemLine("x-x-x", document.Object); //Assert Assert.AreEqual(expectedLine, actualLine); dictionaryRepository.Verify(mock => mock.GetWords("x-x", PartOfSpeech.Noun), Times.Exactly(1)); dictionaryRepository.Verify(mock => mock.GetWords("-x", PartOfSpeech.Verb), Times.Exactly(1)); footRandomGenerator.Verify(mock => mock.Generate(1, 4), Times.Exactly(2)); wordRandomGenerator.Verify(mock => mock.Generate(0, 1), Times.Exactly(2)); nodeRandomGenerator.Verify(mock => mock.Generate(0, 1), Times.Exactly(2)); config.Verify(mock => mock.MaxSyllablesCount, Times.AtLeast(1)); }
public void GeneratePoemLineIntersectWithEndNodesTest() { //Arrange document.Setup(d => d.GetRootElements()).Returns(new List <string>() { PartOfSpeech.Noun.ToString(), PartOfSpeech.Adjective.ToString() }); document.Setup(d => d.GetAllEndElements()).Returns(new List <string>() { PartOfSpeech.Noun.ToString() }); string expectedLine = "oneSyllableNoun"; PoemGen poemGenerator = new PoemGen( dictionaryRepository.Object, config.Object, converter.Object, footRandomGenerator.Object, nodeRandomGenerator.Object, wordRandomGenerator.Object); //Act string actualLine = poemGenerator.GeneratePoemLine("x", document.Object); //Assert Assert.AreEqual(expectedLine, actualLine); dictionaryRepository.Verify(mock => mock.GetWords("x,-", PartOfSpeech.Noun), Times.Exactly(1)); dictionaryRepository.Verify(mock => mock.GetWords("x,-", PartOfSpeech.Verb), Times.Never); footRandomGenerator.Verify(mock => mock.Generate(1, 2), Times.Exactly(1)); wordRandomGenerator.Verify(mock => mock.Generate(0, 1), Times.Exactly(1)); nodeRandomGenerator.Verify(mock => mock.Generate(0, 1), Times.Exactly(1)); config.Verify(mock => mock.MaxSyllablesCount, Times.AtLeast(1)); }
public void GeneratePoemLineOneSyllableTest() { //Arrange string expectedLine = "oneSyllableNoun oneSyllableVerb oneSyllableNoun oneSyllableVerb oneSyllableNoun"; PoemGen poemGenerator = new PoemGen( dictionaryRepository.Object, config.Object, converter.Object, footRandomGenerator.Object, nodeRandomGenerator.Object, wordRandomGenerator.Object); //Act string actualLine = poemGenerator.GeneratePoemLine("x-x-x", document.Object); //Assert Assert.AreEqual(expectedLine, actualLine); dictionaryRepository.Verify(mock => mock.GetWords("x,-", PartOfSpeech.Noun), Times.Exactly(3)); dictionaryRepository.Verify(mock => mock.GetWords("x,-", PartOfSpeech.Verb), Times.Exactly(2)); footRandomGenerator.Verify(mock => mock.Generate(1, 2), Times.Exactly(5)); wordRandomGenerator.Verify(mock => mock.Generate(0, 1), Times.Exactly(5)); nodeRandomGenerator.Verify(mock => mock.Generate(0, 1), Times.Exactly(5)); config.Verify(mock => mock.MaxSyllablesCount, Times.AtLeast(1)); }
public void GeneratePoemLineArgumentNullTest() { //Arrange string expectedLine = String.Empty; PoemGen poemGenerator = new PoemGen( dictionaryRepository.Object, config.Object, converter.Object, footRandomGenerator.Object, nodeRandomGenerator.Object, wordRandomGenerator.Object); //Act string actualLine = poemGenerator.GeneratePoemLine("", null); //Assert Assert.AreEqual(expectedLine, actualLine); config.Verify(mock => mock.MaxSyllablesCount, Times.Never); dictionaryRepository.Verify(mock => mock.GetWords(It.IsAny <string>(), It.IsAny <PartOfSpeech>()), Times.Never); dictionaryRepository.Verify(mock => mock.GetWords(It.IsAny <string>(), It.IsAny <PartOfSpeech>()), Times.Never); footRandomGenerator.Verify(mock => mock.Generate(It.IsAny <int>(), It.IsAny <int>()), Times.Never); wordRandomGenerator.Verify(mock => mock.Generate(It.IsAny <int>(), It.IsAny <int>()), Times.Never); nodeRandomGenerator.Verify(mock => mock.Generate(It.IsAny <int>(), It.IsAny <int>()), Times.Never); }