public void BinaryTest()
        {
            //First perform a non-binaries search
            ISearchRequest srf = new SearchRequestFilesystem();
            srf.SearchContainers.Add(@"D:\code\Rummage\testdata");
            srf.SearchStrings.Add("Microsoft");
            srf.SearchBinaries = false;
            srf.Recurse = true;
            srf.Prepare();

            ISearch search = new SearchFilesystem();
            search.SearchRequest = srf;
            search.Search(true);
            Assert.AreEqual(0, search.Matches.Count);

            //Now include binaries in the search
            ISearchRequest srf2 = new SearchRequestFilesystem();
            srf2.SearchContainers.Add(@"D:\code\Rummage\testdata");
            srf2.SearchStrings.Add("Microsoft");
            srf2.SearchBinaries = true;
            srf.Recurse = true;
            srf2.Prepare();

            ISearch search2 = new SearchFilesystem();
            search2.SearchRequest = srf2;
            search2.Search(true);
            Assert.AreEqual(1, search2.Matches.Count);
        }
        public void SimpleSearch()
        {
            ISearchRequest srf = new SearchRequestFilesystem();
            srf.SearchContainers.Add(@"D:\code\Rummage\testdata");
            srf.SearchStrings.Add("Bart");
            srf.IncludeItemStrings.Add(@"simp.*\.txt");
            srf.Recurse = true;
            srf.Prepare();

            ISearch search = new SearchFilesystem();
            search.SearchRequest = srf;
            search.Search(true);
            Assert.AreEqual(1, search.Matches.Count);
        }
        public void SearchMultipleFilesForTwoRegexes()
        {
            ISearchRequest srf = new SearchRequestFilesystem();
            srf.SearchContainers.Add(@"D:\code\Rummage\testdata");
            srf.SearchStrings.Add("Krusty");
            srf.SearchStrings.Add("^T");
            srf.Recurse = true;
            srf.Prepare();

            ISearch search = new SearchFilesystem();
            search.SearchRequest = srf;
            search.Search(true);
            Assert.AreEqual(3, search.Matches.Count);
        }
        public void SearchMultipleFilesCaseSensitive()
        {
            ISearchRequest srf = new SearchRequestFilesystem();
            srf.SearchContainers.Add(@"D:\code\Rummage\testdata");
            srf.SearchStrings.Add("brown");
            srf.CaseSensitive = true;
            srf.Recurse = true;
            srf.Prepare();

            ISearch search = new SearchFilesystem();
            search.SearchRequest = srf;
            search.Search(true);
            Assert.AreEqual(2, search.Matches.Count);

            //Now let's redo the search but case insensitive
            srf.CaseSensitive = false;
            search.SearchRequest = srf;
            search.Search(true);
            Assert.AreEqual(3, search.Matches.Count);
        }