public void TestFindTranslateWithEffort() { int roomDictonary = 0; string searchWord = "кот"; string[] translate = new string[] { "cat" }; string[] exrectedTranslate = { "cat" }; using (var connection = DbConnectionFactory.CreateTransient()) { context = new DictonaryContext(connection); IDictonaryRepository repository = new DictonaryRepository(context); EngDictonary engWord = new EngDictonary() { Id = 1, Word = "cat", Words = null }; RusDictonary word = new RusDictonary() { Id = 1, Word = searchWord, Words = new Collection<EngDictonary>() { engWord } }; context.RusDictonaries.Add(word); context.SaveChanges(); try { var actualTranslate = repository.FindTranslateIntoDb(roomDictonary, searchWord); Assert.IsNotNull(actualTranslate); CollectionAssert.AreEquivalent(exrectedTranslate, actualTranslate); } catch (Exception ex) { Debug.WriteLine(ex.Message); } } }
public string[] FindTranslateIntoDb(int roomDictonary, string searchWord) { EngDictonary engWord = new EngDictonary() { Id = 1, Word = "cat", Words = null }; RusDictonary word = new RusDictonary() { Id = 1, Word = searchWord, Words = new Collection<EngDictonary>() { engWord } }; rusDictonary.Add(word); var result = rusDictonary.Where(rd => rd.Word == searchWord) .SelectMany(rd => rd.Words) .Select(ew => ew.Word) .ToArray(); return result; }