Пример #1
0
        public void ReportCancelationCompleted_OperationsManagerStatusIsCanceled_Test()
        {
            var operationsManager = new OperationsManagerMock();
            var operation         = new TestOperation(operationsManager);
            var enqueuedToken     = operation.RunAsync();

            operation.ReportCancelationCompleted();

            var operationStatus = operationsManager.GetOperationStatus(enqueuedToken.OperationId);

            Assert.AreEqual(OperationState.Canceled, operationStatus.Info.State);
        }
Пример #2
0
        public void RunAsync_OnCanceledOperation_NotBlockExecutionAndReturnsOperationGuidAndOperationsManagerResultIsEmpty_Test()
        {
            var operationsManager = new OperationsManagerMock();
            var operation         = new TestOperation(operationsManager);

            var startTime     = DateTime.Now;
            var enqueuedToken = operation.RunAsync();
            var endTime       = DateTime.Now;

            var beforeWaitOperationStatus = operationsManager.GetOperationStatus(enqueuedToken.OperationId);

            operation.ReportCancelationCompleted();
            Thread.Sleep(TestOperation.OperationDuration + TestOperation.SafeTimeToSetOperationResult);
            var afterWaitOperationStatus = operationsManager.GetOperationStatus(enqueuedToken.OperationId);

            Assert.IsTrue(endTime - startTime < TestOperation.OperationDuration);
            Assert.AreEqual(OperationState.Started, beforeWaitOperationStatus.Info.State);
            Assert.IsNull(beforeWaitOperationStatus.Result);
            Assert.AreEqual(OperationState.Canceled, afterWaitOperationStatus.Info.State);
            Assert.IsNull(afterWaitOperationStatus.Result);
        }