public async Task TestThatExitedEventIsNotFiredOnGracefulShutdown()
        {
            var            yamsConfig = new YamsConfigBuilder("clusterId", "1", "instanceId", "C:\\Foo").Build();
            var            process    = new StubIProcess().HasExited_Get(() => true);
            IIpcConnection connection = new StubIIpcConnection()
                                        .SendMessage(message =>
            {
                process.Exited_Raise(process, new ProcessExitedArgs(process, ""));
                return(Task.CompletedTask);
            })
                                        .Disconnect(() => Task.CompletedTask);
            GracefulShutdownProcessDecorator decorator = new GracefulShutdownProcessDecorator(yamsConfig, process, connection);
            bool hasExitedFired = false;

            decorator.Exited += (sender, args) =>
            {
                hasExitedFired = true;
            };

            await decorator.Close();

            Assert.False(hasExitedFired);
        }