public void GetNextWords() { var allList = new List<Word>() { new Word() { ID = guids[0], Language = Language.En, UsingFrequencyNumber = 1 }, new Word() { ID = guids[1], Language = Language.En }, new Word() { ID = guids[2], Language = Language.En }, new Word() { ID = guids[3], Language = Language.En }, new Word() { ID = guids[4], Language = Language.En, UsingFrequencyNumber = 2 } }; var resList = new List<WordResult>() { new WordResult() { Word = new Word() { ID = guids[3], Language = Language.En } }, new WordResult() { Word = new Word() { ID = guids[4], Language = Language.En } }, }; var wordResultStorage = new Mock<IStorage<WordResult>>(); wordResultStorage.Setup(s => s.AllList).Returns(() => resList); var wordStorage = new Mock<IWordStorage>(); wordStorage.Setup(s => s.GetWordsByLanguage(It.Is<Language>(x => x == Language.En))).Returns(() => allList); var provider = new WordSessionProvider(wordStorage.Object, wordResultStorage.Object, 5, 50); var actual = provider.GetNextWords(Language.En).ToArray(); Assert.AreEqual(3, actual.Count()); Assert.AreEqual(guids[0], actual[0].ID); Assert.AreEqual(guids[1], actual[1].ID); Assert.AreEqual(guids[2], actual[2].ID); }
public void GetWordsToRepeat() { var words = new List<WordResult>() { new WordResult() { Word = new Word() { ID = guids[0], Language = Language.En }, LearningSchedule = new List<ScheduleItem>() { new ScheduleItem() { DateToShow = DateTime.Now.AddDays(-1), IsShown = true }, new ScheduleItem() { DateToShow = DateTime.Now.AddDays(1), IsShown = false } } }, new WordResult() { Word = new Word() { ID = guids[1], Language = Language.En }, LearningSchedule = new List<ScheduleItem>() { new ScheduleItem() { DateToShow = DateTime.Now.AddDays(-1), IsShown = false }, new ScheduleItem() { DateToShow = DateTime.Now.AddDays(1), IsShown = false } } }, new WordResult() { Word = new Word() { ID = guids[2], Language = Language.En }, LearningSchedule = new List<ScheduleItem>() { new ScheduleItem() { DateToShow = DateTime.Now.AddDays(1), IsShown = false }, new ScheduleItem() { DateToShow = DateTime.Now.AddDays(2), IsShown = false } } }, new WordResult() { Word = new Word() { ID = guids[3], Language = Language.En }, LearningSchedule = new List<ScheduleItem>() { new ScheduleItem() { DateToShow = DateTime.Now.AddDays(-1), IsShown = false }, new ScheduleItem() { DateToShow = DateTime.Now.AddDays(-2), IsShown = false } } }, new WordResult() { Word = new Word() { ID = guids[4], Language = Language.Ukr }, LearningSchedule = new List<ScheduleItem>() { new ScheduleItem() { DateToShow = DateTime.Now.AddDays(-1), IsShown = false }, new ScheduleItem() { DateToShow = DateTime.Now.AddDays(-2), IsShown = false } } } }; var wordResultStorage = new Mock<IStorage<WordResult>>(); wordResultStorage.Setup(s => s.AllList).Returns(() => words); var wordStorage = new Mock<IWordStorage>(); var provider = new WordSessionProvider(wordStorage.Object, wordResultStorage.Object, 5, 50); var actual = provider.GetWordsToRepeat(Language.En); Assert.AreEqual(2, actual.Count()); Assert.AreEqual(guids[1], actual.First().ID); Assert.AreEqual(guids[3], actual.Last().ID); }