Beispiel #1
0
        public async Task TestSignaturesSearch()
        {
            //arrange
            var article = new Article {
                Name        = "проверка работы сигнатурного алгоритма",
                Annotation  = "какая-то аннотация",
                Authors     = "Петр Вележев",
                ArticlePath = "somepath\\here"
            };


            await ArticleWriteRepository.AddArticle(article);

            await SearchService.DoIndexation(article);

            string query = "проверка сигнатурного алгоритм васец";

            //act
            var result = await SearchService.DoSearch(query);

            //assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count() >= 1);
            Assert.IsTrue(result.First().Id == article.Id);
        }
Beispiel #2
0
        public async Task TestSearchNGramAlgorythm()
        {
            //arrange
            var article = new Article
            {
                Name        = "Методы add и update",
                Annotation  = "Метод remove отличается от метода удаления, определенного в DAO тем, что принимает Account в качестве параметра вместо userName (идентификатора аккаунта). Представление репозитория как коллекции меняет его восприятие. Вы избегаете раскрытия типа идентификатора аккаунта репозиторию. Это сделает вашу жизнь легче в том случае, если вы захотите использовать long для идентрификации аккаунтов.",
                Authors     = "Martha Green",
                ArticlePath = "somepath\\here"
            };

            var addedArticle = await ArticleWriteRepository.AddArticle(article);

            await SearchService.DoIndexation(article);

            var query = "Методы отличаются";

            //act
            var result = await SearchService.DoSearch(query);

            //assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count() >= 1);
            Assert.IsTrue(result.First().Id == addedArticle.Id);
        }
Beispiel #3
0
        public async Task RemoveAll()
        {
            //arrange
            var articles = await ArticleReadRepository.GetArticles(null);

            //act
            foreach (var article in articles)
            {
                await ArticleWriteRepository.RemoveArticle(article);
            }

            //assert
            var result = await ArticleReadRepository.GetArticles(null);

            Assert.IsTrue(result.Count() == 0);
        }
Beispiel #4
0
        public async Task TestIndexationNGramAlgorythm()
        {
            //arrange
            var autofacContainer = AutofacContainer;
            var article          = new Article {
                Name = "Work with repository", Annotation = "Here we add some annotation", Authors = "May Green", ArticlePath = "somepath\\here"
            };
            await ArticleWriteRepository.AddArticle(article);

            //act
            await SearchService.DoIndexation(article);

            //assert
            var result = await ArticleReadRepository.GetArticle(article.Id);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.NGrams.Count > 0);
        }
Beispiel #5
0
        public async Task TestIndexationNGramAlgorythm()
        {
            //arrange
            var article = new Article
            {
                Name        = "Заместитель",
                Annotation  = "Паттерн Заместитель (Proxy) предоставляет объект-заместитель, который управляет доступом к другому объекту. То есть создается объект-суррогат, который может выступать в роли другого объекта и замещать его",
                Authors     = "Кори Кормонар",
                ArticlePath = "somepath\\here"
            };
            await ArticleWriteRepository.AddArticle(article);

            //act
            await SearchService.DoIndexation(article);

            //assert
            var result = await ArticleReadRepository.GetArticle(article.Id);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.NGrams.Count > 0);
        }
Beispiel #6
0
        public async Task TestSearchNGramAlgorythm()
        {
            //arrange
            var article = new Article {
                Name = "Створена біла мережа", Annotation = "Оперета", Authors = "Martha Green", ArticlePath = "somepath\\here"
            };

            var addedArticle = await ArticleWriteRepository.AddArticle(article);

            await SearchService.DoIndexation(article);

            var query = "білаа створена";

            //act
            var result = await SearchService.DoSearch(query);

            //assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count() >= 1);
            Assert.IsTrue(result.First().Id == addedArticle.Id);
        }
Beispiel #7
0
        public async Task TestSignaturesIndexation()
        {
            //arrange
            var article = new Article {
                Name = "Проверка сигнатурной индексации", Annotation = "Аннотация к статье", Authors = "Петр Вележев", ArticlePath = "somepath\\here"
            };
            var keyWordsArray = Regex.Split(String.
                                            Join(" ", article.Name, article.Authors, article.Annotation),
                                            @"[\s\p{P}]");

            await ArticleWriteRepository.AddArticle(article);

            //act
            await SearchService.DoIndexation(article);

            //assert
            var result = await ArticleReadRepository.GetArticle(article.Id);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Signatures.Count == keyWordsArray.Count());
        }
Beispiel #8
0
        public async Task TestSimplifiedSearcNGramAlgorythm()
        {
            //arrange
            var article = new Article
            {
                Name        = "Нова стаття для тестування",
                Annotation  = "Анотація до статті, що буде використано при тестуванні",
                Authors     = "Світлана Вермська",
                ArticlePath = "somepath\\here"
            };

            var addedArticle = await ArticleWriteRepository.AddArticle(article);

            var query = "Вермська нова";

            //act
            var result = await SearchService.DoSearch(query);

            //assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count() >= 1);
            Assert.IsTrue(result.First().Id == addedArticle.Id);
        }