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);
        }