public void MonitorWorksAfterStopAndStart() { ResetFile(); var monitor = new FileMonitor(this.file); monitor.Pause(); monitor.Unpause(); var signal = new ManualResetEventSlim(); monitor.FileChanged += (o, s) => { signal.Set(); }; Assert.That(signal.IsSet, Is.False); ChangeFile(); signal.Wait(600); Assert.That(signal.IsSet, Is.True); }