Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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);
        }