Helper to expose protected members for testing
Наследование: FileSystemWatcher
Пример #1
0
        public void SynchronizingObject_CalledOnEvent(WatcherChangeTypes expectedChangeType)
        {
            FileSystemEventHandler dele    = (sender, e) => { Assert.Equal(expectedChangeType, e.ChangeType); };
            TestISynchronizeInvoke invoker = new TestISynchronizeInvoke()
            {
                ExpectedDelegate = dele
            };

            using (var testDirectory = new TempDirectory(GetTestFilePath()))
                using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
                {
                    watcher.SynchronizingObject = invoker;
                    if (expectedChangeType == WatcherChangeTypes.Created)
                    {
                        watcher.Created += dele;
                        watcher.CallOnCreated(new FileSystemEventArgs(WatcherChangeTypes.Created, "test", "name"));
                    }
                    else if (expectedChangeType == WatcherChangeTypes.Deleted)
                    {
                        watcher.Deleted += dele;
                        watcher.CallOnDeleted(new FileSystemEventArgs(WatcherChangeTypes.Deleted, "test", "name"));
                    }
                    else if (expectedChangeType == WatcherChangeTypes.Changed)
                    {
                        watcher.Changed += dele;
                        watcher.CallOnChanged(new FileSystemEventArgs(WatcherChangeTypes.Changed, "test", "name"));
                    }
                    Assert.True(invoker.BeginInvoke_Called);
                }
        }
 public void Site_NonNullSetEnablesRaisingEvents()
 {
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
     using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
     {
         TestSite site = new TestSite() { designMode = true };
         watcher.Site = site;
         Assert.True(watcher.EnableRaisingEvents);
     }
 }
Пример #3
0
 public void BeginEndInit_Repeated()
 {
     using (var watcher = new TestFileSystemWatcher(TestDirectory, "*"))
     {
         watcher.BeginInit();
         watcher.EndInit();
         watcher.BeginInit();
         watcher.EndInit();
         Assert.False(watcher.EnableRaisingEvents);
     }
 }
Пример #4
0
 public void EndInit_ResumesPausedEnableRaisingEvents()
 {
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
         using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
         {
             watcher.BeginInit();
             watcher.EnableRaisingEvents = true;
             watcher.EndInit();
             ExpectEvent(watcher, WatcherChangeTypes.Created | WatcherChangeTypes.Deleted, () => new TempFile(Path.Combine(testDirectory.Path, GetTestFileName())).Dispose(), null);
         }
 }
Пример #5
0
 public void BeginEndInit_Repeated()
 {
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
         using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
         {
             watcher.BeginInit();
             watcher.EndInit();
             watcher.BeginInit();
             watcher.EndInit();
             Assert.False(watcher.EnableRaisingEvents);
         }
 }
Пример #6
0
 public void Site_NonNullSetEnablesRaisingEvents()
 {
     using (var watcher = new TestFileSystemWatcher(TestDirectory, "*"))
     {
         TestSite site = new TestSite()
         {
             designMode = true
         };
         watcher.Site = site;
         Assert.True(watcher.EnableRaisingEvents);
     }
 }
Пример #7
0
 public void EndInit_DoesNotEnableEventRaisedEvents()
 {
     using (var watcher = new TestFileSystemWatcher(TestDirectory, "*"))
     {
         watcher.Created += (obj, e) => { Assert.False(true, "Created event should not occur"); };
         watcher.Deleted += (obj, e) => { Assert.False(true, "Deleted event should not occur"); };
         watcher.BeginInit();
         watcher.EndInit();
         new TempFile(Path.Combine(TestDirectory, GetTestFileName())).Dispose();
         Thread.Sleep(WaitForExpectedEventTimeout);
     }
 }
Пример #8
0
 public void EndRaisingEventsDuringPause()
 {
     using (var watcher = new TestFileSystemWatcher(TestDirectory, "*"))
     {
         watcher.EnableRaisingEvents = true;
         watcher.BeginInit();
         watcher.EnableRaisingEvents = false;
         watcher.EndInit();
         new TempFile(Path.Combine(TestDirectory, GetTestFileName())).Dispose();
         Thread.Sleep(WaitForExpectedEventTimeout);
     }
 }
 public void SynchronizingObject_GetSetRoundtrips()
 {
     TestISynchronizeInvoke invoker = new TestISynchronizeInvoke() { };
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
     using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
     {
         Assert.Null(watcher.SynchronizingObject);
         watcher.SynchronizingObject = invoker;
         Assert.Equal(invoker, watcher.SynchronizingObject);
         watcher.SynchronizingObject = null;
         Assert.Null(watcher.SynchronizingObject);
     }
 }
Пример #10
0
 public void Site_GetSetRoundtrips()
 {
     using (var watcher = new TestFileSystemWatcher(TestDirectory, "*"))
     {
         TestSite site = new TestSite();
         Assert.Null(watcher.Site);
         watcher.Site = site;
         Assert.Equal(site, watcher.Site);
         watcher.Site = null;
         Assert.Null(watcher.Site);
         Assert.False(watcher.EnableRaisingEvents);
     }
 }
Пример #11
0
 public void BeginInit_PausesEnableRaisingEvents()
 {
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
         using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
         {
             watcher.Created += (obj, e) => { Assert.False(true, "Created event should not occur"); };
             watcher.Deleted += (obj, e) => { Assert.False(true, "Deleted event should not occur"); };
             watcher.BeginInit();
             watcher.EnableRaisingEvents = true;
             new TempFile(Path.Combine(testDirectory.Path, GetTestFileName())).Dispose();
             Thread.Sleep(WaitForExpectedEventTimeout);
         }
 }
 public void Site_GetSetRoundtrips()
 {
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
     using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
     {
         TestSite site = new TestSite();
         Assert.Null(watcher.Site);
         watcher.Site = site;
         Assert.Equal(site, watcher.Site);
         watcher.Site = null;
         Assert.Null(watcher.Site);
         Assert.False(watcher.EnableRaisingEvents);
     }
 }
Пример #13
0
        public void SynchronizingObject_GetSetRoundtrips()
        {
            TestISynchronizeInvoke invoker = new TestISynchronizeInvoke()
            {
            };

            using (var watcher = new TestFileSystemWatcher(TestDirectory, "*"))
            {
                Assert.Null(watcher.SynchronizingObject);
                watcher.SynchronizingObject = invoker;
                Assert.Equal(invoker, watcher.SynchronizingObject);
                watcher.SynchronizingObject = null;
                Assert.Null(watcher.SynchronizingObject);
            }
        }
Пример #14
0
        public void SynchronizingObject_CalledOnError()
        {
            ErrorEventHandler      dele    = (sender, e) => { Assert.IsType <FileNotFoundException>(e.GetException()); };
            TestISynchronizeInvoke invoker = new TestISynchronizeInvoke()
            {
                ExpectedDelegate = dele
            };

            using (var watcher = new TestFileSystemWatcher(TestDirectory, "*"))
            {
                watcher.SynchronizingObject = invoker;
                watcher.Error += dele;
                watcher.CallOnError(new ErrorEventArgs(new FileNotFoundException()));
                Assert.True(invoker.BeginInvoke_Called);
            }
        }
Пример #15
0
        public void SynchronizingObject_CalledOnRenamed()
        {
            RenamedEventHandler    dele    = (sender, e) => { Assert.Equal(WatcherChangeTypes.Renamed, e.ChangeType); };
            TestISynchronizeInvoke invoker = new TestISynchronizeInvoke()
            {
                ExpectedDelegate = dele
            };

            using (var watcher = new TestFileSystemWatcher(TestDirectory, "*"))
            {
                watcher.SynchronizingObject = invoker;
                watcher.Renamed            += dele;
                watcher.CallOnRenamed(new RenamedEventArgs(WatcherChangeTypes.Renamed, "test", "name", "oldname"));
                Assert.True(invoker.BeginInvoke_Called);
            }
        }
Пример #16
0
 public void EndInit_ResumesPausedEnableRaisingEvents(bool setBeforeBeginInit)
 {
     FileSystemWatcherTest.Execute(() =>
     {
         using (var watcher = new TestFileSystemWatcher(TestDirectory, "*"))
         {
             if (setBeforeBeginInit)
             {
                 watcher.EnableRaisingEvents = true;
             }
             watcher.BeginInit();
             if (!setBeforeBeginInit)
             {
                 watcher.EnableRaisingEvents = true;
             }
             watcher.EndInit();
             ExpectEvent(watcher, WatcherChangeTypes.Created | WatcherChangeTypes.Deleted, () => new TempFile(Path.Combine(TestDirectory, GetTestFileName())).Dispose(), null);
         }
     }, maxAttempts: DefaultAttemptsForExpectedEvent, backoffFunc: (iteration) => RetryDelayMilliseconds, retryWhen: e => e is XunitException);
 }
Пример #17
0
        public void FileSystemWatcher_OnRenamed()
        {
            using (TestFileSystemWatcher watcher = new TestFileSystemWatcher())
            {
                bool             eventOccurred = false;
                object           obj = null;
                RenamedEventArgs actualArgs = null, expectedArgs = new RenamedEventArgs(WatcherChangeTypes.Renamed, "directory", "file", "oldFile");

                watcher.Renamed += (o, e) =>
                {
                    eventOccurred = true;
                    obj           = o;
                    actualArgs    = e;
                };

                watcher.CallOnRenamed(expectedArgs);
                Assert.True(eventOccurred, "Event should be invoked");
                Assert.Equal(watcher, obj);
                Assert.Equal(expectedArgs, actualArgs);
            }
        }
Пример #18
0
        public void FileSystemWatcher_OnError()
        {
            using (TestFileSystemWatcher watcher = new TestFileSystemWatcher())
            {
                bool           eventOccurred = false;
                object         obj = null;
                ErrorEventArgs actualArgs = null, expectedArgs = new ErrorEventArgs(new Exception());

                watcher.Error += (o, e) =>
                {
                    eventOccurred = true;
                    obj           = o;
                    actualArgs    = e;
                };

                watcher.CallOnError(expectedArgs);
                Assert.True(eventOccurred, "Event should be invoked");
                Assert.Equal(watcher, obj);
                Assert.Equal(expectedArgs, actualArgs);
            }
        }
 public void EndRaisingEventsDuringPause()
 {
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
     using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
     {
         watcher.EnableRaisingEvents = true;
         watcher.BeginInit();
         watcher.EnableRaisingEvents = false;
         watcher.EndInit();
         new TempFile(Path.Combine(testDirectory.Path, GetTestFileName())).Dispose();
         Thread.Sleep(WaitForExpectedEventTimeout);
     }
 }
 public void SynchronizingObject_CalledOnRenamed()
 {
     RenamedEventHandler dele = (sender, e) => { Assert.Equal(WatcherChangeTypes.Renamed, e.ChangeType); };
     TestISynchronizeInvoke invoker = new TestISynchronizeInvoke() { ExpectedDelegate = dele };
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
     using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
     {
         watcher.SynchronizingObject = invoker;
         watcher.Renamed += dele;
         watcher.CallOnRenamed(new RenamedEventArgs(WatcherChangeTypes.Changed, "test", "name", "oldname"));
         Assert.True(invoker.BeginInvoke_Called);
     }
 }
 public void SynchronizingObject_CalledOnError()
 {
     ErrorEventHandler dele = (sender, e) => { Assert.IsType<FileNotFoundException>(e.GetException()); };
     TestISynchronizeInvoke invoker = new TestISynchronizeInvoke() { ExpectedDelegate = dele };
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
     using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
     {
         watcher.SynchronizingObject = invoker;
         watcher.Error += dele;
         watcher.CallOnError(new ErrorEventArgs(new FileNotFoundException()));
         Assert.True(invoker.BeginInvoke_Called);
     }
 }
Пример #22
0
        public void FileSystemWatcher_OnRenamed()
        {
            using (TestFileSystemWatcher watcher = new TestFileSystemWatcher())
            {
                bool eventOccurred = false;
                object obj = null;
                RenamedEventArgs actualArgs = null, expectedArgs = new RenamedEventArgs(WatcherChangeTypes.Renamed, "directory", "file", "oldFile");

                watcher.Renamed += (o, e) =>
                {
                    eventOccurred = true;
                    obj = o;
                    actualArgs = e;
                };

                watcher.CallOnRenamed(expectedArgs);
                Assert.True(eventOccurred, "Event should be invoked");
                Assert.Equal(watcher, obj);
                Assert.Equal(expectedArgs, actualArgs);
            }
        }
Пример #23
0
        public void FileSystemWatcher_OnError()
        {
            using (TestFileSystemWatcher watcher = new TestFileSystemWatcher())
            {
                bool eventOccurred = false;
                object obj = null;
                ErrorEventArgs actualArgs = null, expectedArgs = new ErrorEventArgs(new Exception());

                watcher.Error += (o, e) =>
                {
                    eventOccurred = true;
                    obj = o;
                    actualArgs = e;
                };

                watcher.CallOnError(expectedArgs);
                Assert.True(eventOccurred, "Event should be invoked");
                Assert.Equal(watcher, obj);
                Assert.Equal(expectedArgs, actualArgs);
            }
        }
 public void SynchronizingObject_CalledOnEvent(WatcherChangeTypes expectedChangeType)
 {
     FileSystemEventHandler dele = (sender, e) => { Assert.Equal(expectedChangeType, e.ChangeType); };
     TestISynchronizeInvoke invoker = new TestISynchronizeInvoke() { ExpectedDelegate = dele };
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
     using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
     {
         watcher.SynchronizingObject = invoker;
         if (expectedChangeType == WatcherChangeTypes.Created)
         {
             watcher.Created += dele;
             watcher.CallOnCreated(new FileSystemEventArgs(WatcherChangeTypes.Created, "test", "name"));
         }
         else if (expectedChangeType == WatcherChangeTypes.Deleted)
         {
             watcher.Deleted += dele;
             watcher.CallOnDeleted(new FileSystemEventArgs(WatcherChangeTypes.Deleted, "test", "name"));
         }
         else if (expectedChangeType == WatcherChangeTypes.Changed)
         {
             watcher.Changed += dele;
             watcher.CallOnChanged(new FileSystemEventArgs(WatcherChangeTypes.Changed, "test", "name"));
         }
         Assert.True(invoker.BeginInvoke_Called);
     }
 }
 public void BeginEndInit_Repeated()
 {
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
     using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
     {
         watcher.BeginInit();
         watcher.EndInit();
         watcher.BeginInit();
         watcher.EndInit();
         Assert.False(watcher.EnableRaisingEvents);
     }
 }
 public void EndInit_ResumesPausedEnableRaisingEvents(bool setBeforeBeginInit)
 {
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
     using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
     {
         if (setBeforeBeginInit)
             watcher.EnableRaisingEvents = true;
         watcher.BeginInit();
         if (!setBeforeBeginInit)
             watcher.EnableRaisingEvents = true;
         watcher.EndInit();
         ExpectEvent(watcher, WatcherChangeTypes.Created | WatcherChangeTypes.Deleted, () => new TempFile(Path.Combine(testDirectory.Path, GetTestFileName())).Dispose(), null);
     }
 }
 public void EndInit_DoesNotEnableEventRaisedEvents()
 {
     using (var testDirectory = new TempDirectory(GetTestFilePath()))
     using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*"))
     {
         watcher.Created += (obj, e) => { Assert.False(true, "Created event should not occur"); };
         watcher.Deleted += (obj, e) => { Assert.False(true, "Deleted event should not occur"); };
         watcher.BeginInit();
         watcher.EndInit();
         new TempFile(Path.Combine(testDirectory.Path, GetTestFileName())).Dispose();
         Thread.Sleep(WaitForExpectedEventTimeout);
     }
 }