@Test
public void testStaysClosedOnSuccess() throws Exception {

    impl.state = CircuitBreaker.BreakerState.CLOSED;
    final Object obj = new Object();
    expect(mockCallable.call()).andReturn(obj);
    replay(mockCallable);
    Object result = impl.invoke(mockCallable);
    verify(mockCallable);
    assertSame(obj, result);
    assertEquals(CircuitBreaker.BreakerState.CLOSED, impl.state);
}