示例#1
0
        public void DeterminationMinValue_SizeBufferReaderMoreSizeBufferWritter_Swap()
        {
            var mockFileManager    = new Mock <IFileManager>();
            var mockUnityContainer = new Mock <IUnityContainer>();

            int beginSizeBufferReader = 150, endSizeBufferReader = 50;
            int beginSizeBufferWritter = 50, endSizeBufferWritter = 150;


            SearcherMultithreading searcher = new SearcherMultithreading(mockFileManager.Object,
                                                                         mockUnityContainer.Object, beginSizeBufferReader, beginSizeBufferWritter);

            searcher.DeterminationMinValue();
            Assert.AreEqual(endSizeBufferReader, searcher._sizeBufferReader);
            Assert.AreEqual(endSizeBufferWritter, searcher._sizeBufferWritter);
        }
示例#2
0
        public void Search()
        {
            var searchText = "hello";
            var beginData  = new List <Data>()
            {
                new Data {
                    Buffer = "111", Position = 8, Path = "C:\\MyProject\\SearchSystem\\1232131"
                },
                new Data {
                    Buffer = "222", Position = 18, Path = "C:\\MyProject\\SearchSystem\\1232131"
                },
                new Data {
                    Buffer = "333", Position = 28, Path = "C:\\MyProject\\SearchSystem\\55555"
                },
                new Data {
                    Buffer = "444", Position = 38, Path = "C:\\MyProject\\SearchSystem\\1232131"
                },
                new Data {
                    Buffer = "hello", Position = 48, Path = "C:\\MyProject\\SearchSystem\\5556"
                },
                new Data {
                    Buffer = "666", Position = 58, Path = "C:\\MyProject\\SearchSystem\\1232131"
                },
                new Data {
                    Buffer = "777", Position = 68, Path = "C:\\MyProject\\SearchSystem\\1232131"
                },
                new Data {
                    Buffer = "hello", Position = 4, Path = "C:\\MyProject\\SearchSystem\\1232131"
                }
            };

            var expected = new List <SearchResult>()
            {
                new SearchResult {
                    Position = 48, File = new File("C:\\MyProject\\SearchSystem\\5556")
                },
                new SearchResult {
                    Position = 4, File = new File("C:\\MyProject\\SearchSystem\\1232131")
                }
            };

            var mockFileManager = new Mock <IFileManager>();
            FakeSearcherMultithreading container = new FakeSearcherMultithreading(beginData);
            List <File> files = new List <File>();

            mockFileManager.Setup(x => x.GetFiles(It.IsAny <string>(), It.IsAny <bool>())).Returns(files);
            int sizeBufferReader = 10, sizeBufferWritter = 50;
            SearcherMultithreading searcher = new SearcherMultithreading(mockFileManager.Object,
                                                                         container, sizeBufferReader, sizeBufferWritter);
            var result = searcher.Search(It.IsAny <string>(), It.IsAny <bool>(), searchText);

            result.Wait();


            var comparer = new ComparerSearchResult();

            expected.Sort(comparer);
            result.Result.Sort(comparer);
            var compareBeginAndEnd = expected.SequenceEqual(result.Result);


            Assert.IsTrue(compareBeginAndEnd, "Не корректно находит слово. " + result.Result.Count);
        }