public void CanCloseCircuitBreaker() { Action protectedCode = () => { throw new ApplicationException("blah"); }; var circuitBreaker = new CircuitBreaker(10, TimeSpan.FromMilliseconds(50)); CallXAmountOfTimes(() => AssertThatExceptionIsThrown <ApplicationException>(() => circuitBreaker.AttemptCall(protectedCode)), 10); Assert.That(circuitBreaker.IsOpen); circuitBreaker.Close(); Assert.That(circuitBreaker.IsClosed); }