public void ShouldThrowWhenCompletingPromiseAfterCompletion() { var promise = new OperationPromise <TestResponse>(0, new TestOperation()); promise.Complete(new TestResponse()); Action action = () => promise.Complete(new TestResponse()); action.ShouldThrow <InvalidOperationException>(); }
public void ShouldThrowWhenRegisteringCallbackAfterCompletion() { var promise = new OperationPromise <TestResponse>(0, new TestOperation()); promise.Complete(new TestResponse()); Action action = () => promise.Then(t => t.Method()); action.ShouldThrow <InvalidOperationException>(); }
public void ShouldInvokeCallbacksOnComplete() { var promise = new OperationPromise <TestResponse>(0, new TestOperation()); promise.Then(t => t.Method()); var response = new TestResponse(); promise.Complete(response); promise.Response.ShouldBe(response); promise.IsCompleted.ShouldBeTrue(); response.MethodInvokeCount.ShouldBe(1); }