public void Constructor_throws_ArgumentNull_for_null_subject() { IProcessExit subject = null; ArgumentNullException ane = Assert.Throws <ArgumentNullException>(() => new ProcessExitWatcher(subject)); Assert.Equal("subject", ane.ParamName); }
public ProcessExitWatcher(IProcessExit subject) { if (subject == null) { throw new ArgumentNullException("subject"); } this.exited = new TaskCompletionSource <bool>(); this.subject = subject; this.savedEnableRaisingEvents = this.subject.EnableRaisingEvents; this.subject.EnableRaisingEvents = true; this.subject.Exited += this.OnProcessExited; if (this.subject.HasExited) { this.exited.TrySetResult(false); } }
public ProcessExitWatcher(IProcessExit subject) { if (subject == null) { throw new ArgumentNullException("subject"); } this.exited = new TaskCompletionSource<bool>(); this.subject = subject; this.savedEnableRaisingEvents = this.subject.EnableRaisingEvents; this.subject.EnableRaisingEvents = true; this.subject.Exited += this.OnProcessExited; if (this.subject.HasExited) { this.exited.TrySetResult(false); } }