public void RepetitionManager_AllRepetitionTypeRemains_ReturnsCorrectRepetitionData(int type, string expectedQuestion, bool hasResponses) { var randomMock = new Mock <Random>(); randomMock.Setup(r => r.Next(It.IsAny <int>())).Returns(type); var repetitionManager = new RepetitionManager(new Mock <IUnitOfWork>().Object, new Mock <IWordGenerator>().Object, new Mock <IAudioService>().Object, randomMock.Object); var(question, _, responses, _, repetitionType) = repetitionManager.CreateRepetitionData(new WordStats { Word = new Word { TranslatedWord = "TranslatedWord", OriginalWord = "OriginalWord", Definition = "Definition", ExampleUse = "ExampleUse" }, UsedRepetitionTypes = string.Empty }); if (hasResponses) { responses.Should().NotBeEmpty(); } else { responses.Should().BeNullOrEmpty(); } question.Should().Be(expectedQuestion); ((int)repetitionType).Should().Be(type + 1); }
public void RepetitionManager_OnlyOneRepetitionTypeRemains_ReturnsCorrectRepetitionData() { var repetitionManager = new RepetitionManager(new Mock <IUnitOfWork>().Object, new Mock <IWordGenerator>().Object, new Mock <IAudioService>().Object); var(question, _, responses, _, repetitionType) = repetitionManager.CreateRepetitionData(new WordStats { Word = new Word { TranslatedWord = "TranslatedWord", OriginalWord = "OriginalWord" }, UsedRepetitionTypes = "[1,3,4,5,6,7,8,9,10,11,12,13]" }); question.Should().Be("TranslatedWord"); responses.Should().BeNull(); repetitionType.Should().Be(RepetitionType.FromTranslatedToOriginalOpen); }