public void Set_result_after_one_sync_step_completes_sync() { SetResultAfterOneStepOperation op = new SetResultAfterOneStepOperation(1234); IAsyncResult result = op.Start(null, null); Assert.True(result.IsCompleted); Assert.True(result.CompletedSynchronously); Assert.Equal(1234, SetResultAfterOneStepOperation.End(result)); }
public void Invokes_callback_on_sync_completion() { SetResultAfterOneStepOperation op = new SetResultAfterOneStepOperation(1234); object state = new object(); IAsyncResult returnedResult = null; IAsyncResult callbackResult = null; AsyncCallback callback = delegate(IAsyncResult r) { callbackResult = r; Assert.Null(returnedResult); Assert.Same(state, r.AsyncState); Assert.Equal(1234, SetResultAfterOneStepOperation.End(r)); }; returnedResult = op.Start(callback, state); Assert.NotNull(callbackResult); Assert.True(returnedResult.IsCompleted); Assert.True(returnedResult.CompletedSynchronously); Assert.Same(callbackResult, returnedResult); }