Exemplo n.º 1
0
        public void Constructor_throws_ArgumentNull_for_null_subject()
        {
            IProcessExit          subject = null;
            ArgumentNullException ane     = Assert.Throws <ArgumentNullException>(() => new ProcessExitWatcher(subject));

            Assert.Equal("subject", ane.ParamName);
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }