public void AbortInCallbackNotRespected() { var token = new AsyncToken <TestResult>(); var called = false; token .OnSuccess(_ => token.Abort()) .OnSuccess(_ => called = true) .OnFinally(_ => called = true); token.Succeed(new TestResult()); Assert.IsTrue(called); }
public async Task TaskAborted() { var token = new AsyncToken <float>(); Exception callbackException = null; token.OnFailure(exception => callbackException = exception); var task = token.AsTask(); var taskSuccess = false; token.Abort(); try { await task; taskSuccess = true; } catch (Exception exception) { Assert.IsTrue(exception is OperationCanceledException); } Assert.IsFalse(taskSuccess); }