private void NotCompleted(OperationCompletedTracker tracker) { // This is in a helper method to ensure the JIT doesn't artifically extend the lifetime of the operation. AsyncOperationManager.SynchronizationContext = tracker; AsyncOperation operation = AsyncOperationManager.CreateOperation(new object()); Assert.False(tracker.OperationDidComplete); }
public void Finalizer_OperationNotCompleted_CompletesOperation() { RemoteExecutor.Invoke(() => { var tracker = new OperationCompletedTracker(); NotCompleted(tracker); GC.Collect(); GC.WaitForPendingFinalizers(); Assert.True(tracker.OperationDidComplete); }).Dispose(); }