public void Dispose_should_mark_endpoint_disposed()
 {
     var endpoint = new MonitorableEndpoint(new EndpointIdentity(Guid.Empty, "monitor", "address"), MonitorMock.Mock("monitor"));
     Assert.False(endpoint.IsDisposed);
     endpoint.Dispose();
     Assert.True(endpoint.IsDisposed);
 }
        public void Dispose_should_mark_endpoint_disposed()
        {
            var endpoint = new MonitorableEndpoint(new EndpointIdentity(Guid.Empty, "monitor", "address"), MonitorMock.Mock("monitor"));

            Assert.False(endpoint.IsDisposed);
            endpoint.Dispose();
            Assert.True(endpoint.IsDisposed);
        }
        private void SetupEndpointMonitorOnTimeLineToRunNTimes(MonitorableEndpoint endpoint, string eventName, int noOfHealthChecks, CancellationToken cancellationToken)
        {
            int repeats = 0;

            _mockHealthMonitor.Setup(m => m.CheckHealthAsync(endpoint.Identity.Address, cancellationToken))
            .Returns(() => _awaitableFactory.Execute(() =>
            {
                if (++repeats >= noOfHealthChecks)
                {
                    endpoint.Dispose();
                }
                return(new HealthInfo(HealthStatus.Healthy));
            })
                     .WithTimeline(eventName).RunAsync());
        }
        private void SetupEndpointMonitorOnTimeLineToRunNTimes(MonitorableEndpoint endpoint, string eventName, int noOfHealthChecks, CancellationToken cancellationToken)
        {
            int repeats = 0;

            _mockHealthMonitor.Setup(m => m.CheckHealthAsync(endpoint.Identity.Address, cancellationToken))
                .Returns(() => _awaitableFactory.Execute(() =>
                {
                    if (++repeats >= noOfHealthChecks)
                        endpoint.Dispose();
                    return new HealthInfo(HealthStatus.Healthy);
                })
                .WithTimeline(eventName).RunAsync());
        }