示例#1
0
		public void Test05InvalidFilter()
        {
			using (ScanFS fileScan = new ScanFS())
			{
				fileScan.SetDirectories(new DirectoryInfo[] { new DirectoryInfo(Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(@"\Projects\trace\src\FS.Tests\TestFiles\TestGetItemCount1")) });
				fileScan.SetSearchFilters(new string[] { "*.invalid" });

				fileScan.OnFolderCountCompleted += new EventHandler<FSScanEventArgs>(fileScan_OnFolderCountCompleted);
				fileScan.FindItemCount();

				AssertFileCount(0);
			}
        }
示例#2
0
        public void Test01Constructor()
        {
            using (ScanFS filescan = new ScanFS())
            {
				Assert.AreEqual(9, filescan.GetSearchFilters().GetLength(0));

                Assert.AreEqual("*.doc", filescan.GetSearchFilters()[0]);
                Assert.AreEqual("*.dot", filescan.GetSearchFilters()[1]);
                Assert.AreEqual("*.xls", filescan.GetSearchFilters()[2]);
                Assert.AreEqual("*.xlt", filescan.GetSearchFilters()[3]);
                Assert.AreEqual("*.pdf", filescan.GetSearchFilters()[4]);
                Assert.AreEqual("*.ppt", filescan.GetSearchFilters()[5]);
                Assert.AreEqual("*.pot", filescan.GetSearchFilters()[6]);
                Assert.AreEqual("*.rtf", filescan.GetSearchFilters()[7]);
                Assert.AreEqual("*.txt", filescan.GetSearchFilters()[8]);
            }
        }
示例#3
0
 public ScanFSEventSink(FS.ScanFS scanner, int delay)
 {
     m_scanFS = scanner;
     m_delay = delay;
     m_scanFS.FileFound += new EventHandler<FSScanEventArgs>(m_scanFS_FileFound);
 }
示例#4
0
        public void Test10ScanWithPauseAndCancel()
        {
            using (ScanFS fileScan = new ScanFS())
            {
                fileScan.SetDirectories( new DirectoryInfo[] { new DirectoryInfo(Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(@"\Projects\trace\src\FS.Tests\TestFiles\TestGetItemCount1")) });
                ScanFSEventSink scannerSink = new ScanFSEventSink(fileScan, 1);

                Thread fred = new Thread(new ParameterizedThreadStart(ScannerWorker));
                fred.Name = "Test_10_ScanWithPauseAndCancel_ScannerWorker";
                fred.Start(fileScan);

                while (1 > scannerSink.FilesFound)
                {
                    Thread.Sleep(1);
                }
                fileScan.Pause();

                int currentAmountOfFileEventsFired = scannerSink.FilesFound;

                Thread.Sleep(200);
                //should not be getting events while paused
                Assert.AreEqual(currentAmountOfFileEventsFired, scannerSink.FilesFound);

                fileScan.Cancel();

                //now wait for the call to Execute on the other thread to finish
                fred.Join(20000);

                //should have terminated without publishing any more events
                Assert.AreEqual(currentAmountOfFileEventsFired, scannerSink.FilesFound);
            }
		}
示例#5
0
        public void Test08ScanWithPauseAndDispose()
        {
            using (ScanFS fileScan = new ScanFS())
            {
                fileScan.SetDirectories( new DirectoryInfo[] { new DirectoryInfo(Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(@"\Projects\trace\src\FS.Tests\TestFiles\TestGetItemCount1")) });
                ScanFSEventSink scannerSink = new ScanFSEventSink(fileScan,1 );

                //Start scanning on a different thread.
                Thread fred = new Thread(new ParameterizedThreadStart(ScannerWorker));
                fred.Name = "Test_8_ScanWithPauseAndDispose_ScannerWorker";
                fred.Start(fileScan);

                //When at least 1 file is detected, pause the process.
                while (1 > scannerSink.FilesFound)
                {
                    Thread.Sleep(1);
                }
                fileScan.Pause();
        
                int currentAmountOfFileEventsFired = scannerSink.FilesFound;

                System.Threading.Thread.Sleep(500);
                Assert.AreEqual(currentAmountOfFileEventsFired, scannerSink.FilesFound);
            }
        }
示例#6
0
		public void Test07Scan()
        {
			using (ScanFS fileScan = new ScanFS())
			{
				fileScan.SetDirectories(new DirectoryInfo[] { new DirectoryInfo(Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(@"\Projects\trace\src\FS.Tests\TestFiles\TestGetItemCount1")) });

				ScanFSEventSink scannerSink = new ScanFSEventSink(fileScan, 0);

				fileScan.Execute(); //will lock on this call until done.

				//should have fired an event for each file found in the search
				Assert.AreEqual(43, scannerSink.FilesFound);
			}
        }