Skip to content

Merge pull request #2 from dombrovsky/f/basic-extensions #19

Merge pull request #2 from dombrovsky/f/basic-extensions

Merge pull request #2 from dombrovsky/f/basic-extensions #19

GitHub Actions / DotNET Tests succeeded May 18, 2024 in 1s

130 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
TaskFlow.Extensions.Microsoft.DependencyInjection.Tests/TestResults/stage/test-results.trx 8✅ 1s
TaskFlow.Tests/TestResults/stage/test-results.trx 122✅ 22s

✅ TaskFlow.Extensions.Microsoft.DependencyInjection.Tests/TestResults/stage/test-results.trx

8 tests were completed in 1s with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
TaskFlow.Extensions.Microsoft.DependencyInjection.Tests.CustomTaskFlowServiceCollectionExtensionsFixture 1✅ 18ms
TaskFlow.Extensions.Microsoft.DependencyInjection.Tests.DefaultTaskFlowServiceCollectionExtensionsFixture 7✅ 132ms

✅ TaskFlow.Extensions.Microsoft.DependencyInjection.Tests.CustomTaskFlowServiceCollectionExtensionsFixture

✅ AddTaskFlow_ShouldRegisterTaskFlowInfoAndTaskScheduler

✅ TaskFlow.Extensions.Microsoft.DependencyInjection.Tests.DefaultTaskFlowServiceCollectionExtensionsFixture

✅ AddTaskFlow_DisposeScope_ShouldCancelPendingTask
✅ AddTaskFlow_DisposeScopeAsync_ShouldCancelPendingTask
✅ AddTaskFlow_Scopes_WhenDisposeOneScopeCanEnqueueToAnotherScope
✅ AddTaskFlow_ScopesShouldHaveOwnTaskFlow
✅ AddTaskFlow_ShouldNotRegisterTaskFlow
✅ AddTaskFlow_ShouldRegisterTaskFlowInfoAndTaskScheduler
✅ AddTaskFlow_WithOptions_ShouldRegisterTaskFlowWithOptions

✅ TaskFlow.Tests/TestResults/stage/test-results.trx

122 tests were completed in 22s with 122 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
TaskFlow.Tests.CurrentThreadTaskFlowFixture 30✅ 2s
TaskFlow.Tests.DedicatedThreadTaskFlowFixture 30✅ 2s
TaskFlow.Tests.Extensions.CancellationScopeTaskSchedulerExtensionsFixture 4✅ 4s
TaskFlow.Tests.Extensions.CancelPreviousTaskSchedulerExtensionsFixture 4✅ 6s
TaskFlow.Tests.Extensions.ExceptionTaskSchedulerExtensionsFixture 10✅ 17ms
TaskFlow.Tests.Extensions.ThrottlingTaskSchedulerExtensionsFixture 4✅ 11ms
TaskFlow.Tests.Extensions.TimeoutTaskSchedulerExtensionsFixture 10✅ 5s
TaskFlow.Tests.TaskFlowFixture 30✅ 2s

✅ TaskFlow.Tests.CurrentThreadTaskFlowFixture

✅ Dispose_CanCallAfterDisposeAsync
✅ Dispose_CanCallMultipleTimes
✅ Dispose_ShouldNotThrowIfTaskFuncFailed
✅ Dispose_ShouldReturnFalseIfTimedOut
✅ Dispose_ShouldReturnTrueIfNotTimedOut
✅ Dispose_ShouldWaitQueuedOperations
✅ DisposeAsync_CanCallMultipleTimes
✅ DisposeAsync_ShouldCancelPendingTask
✅ DisposeAsync_ShouldNotThrowIfTaskFuncFailed
✅ DisposeAsync_ShouldWaitQueuedOperations
✅ Enqueue_AsyncContinuationShouldHappenBeforeNextEnqueuedItems(False)
✅ Enqueue_AsyncContinuationShouldHappenBeforeNextEnqueuedItems(True)
✅ Enqueue_AsyncContinuationShouldHappenOnSameScheduler(False)
✅ Enqueue_AsyncContinuationShouldHappenOnSameScheduler(True)
✅ Enqueue_AsyncContinuationThrowsException_ShouldExecuteNextOperation(False)
✅ Enqueue_AsyncContinuationThrowsException_ShouldExecuteNextOperation(True)
✅ Enqueue_CanExecuteNextOperationIfPreviousCanceled
✅ Enqueue_CanExecuteNextOperationIfPreviousFailed
✅ Enqueue_ExecuteInOrderIfIntermediateCanceled
✅ Enqueue_MultipleTimes_ShouldNotKeepReferencesToAllResults
✅ Enqueue_PropagatesStateToTaskFunc
✅ Enqueue_ResultReferencedFromStack_ResultShouldBeAlive
✅ Enqueue_ReturnedTaskShouldBeCanceledWhenTaskFuncCanceled
✅ Enqueue_ReturnedTaskShouldBeFailedWhenTaskFuncFailed
✅ Enqueue_ReturnedTaskShouldCompleteWhenTaskFuncComplete
✅ Enqueue_ShouldExecuteInScheduledOrder
✅ Enqueue_ShouldThrowAfterDispose
✅ Enqueue_ShouldThrowAfterDisposeAsync
✅ Enqueue_WhenFinished_ShouldNotKeepReferenceToResult
✅ Enqueue_WhenInitiallyCanceled_ShouldExecuteOperation

✅ TaskFlow.Tests.DedicatedThreadTaskFlowFixture

✅ Dispose_CanCallAfterDisposeAsync
✅ Dispose_CanCallMultipleTimes
✅ Dispose_ShouldNotThrowIfTaskFuncFailed
✅ Dispose_ShouldReturnFalseIfTimedOut
✅ Dispose_ShouldReturnTrueIfNotTimedOut
✅ Dispose_ShouldWaitQueuedOperations
✅ DisposeAsync_CanCallMultipleTimes
✅ DisposeAsync_ShouldCancelPendingTask
✅ DisposeAsync_ShouldNotThrowIfTaskFuncFailed
✅ DisposeAsync_ShouldWaitQueuedOperations
✅ Enqueue_AsyncContinuationShouldHappenBeforeNextEnqueuedItems(False)
✅ Enqueue_AsyncContinuationShouldHappenBeforeNextEnqueuedItems(True)
✅ Enqueue_AsyncContinuationShouldHappenOnSameScheduler(False)
✅ Enqueue_AsyncContinuationShouldHappenOnSameScheduler(True)
✅ Enqueue_AsyncContinuationThrowsException_ShouldExecuteNextOperation(False)
✅ Enqueue_AsyncContinuationThrowsException_ShouldExecuteNextOperation(True)
✅ Enqueue_CanExecuteNextOperationIfPreviousCanceled
✅ Enqueue_CanExecuteNextOperationIfPreviousFailed
✅ Enqueue_ExecuteInOrderIfIntermediateCanceled
✅ Enqueue_MultipleTimes_ShouldNotKeepReferencesToAllResults
✅ Enqueue_PropagatesStateToTaskFunc
✅ Enqueue_ResultReferencedFromStack_ResultShouldBeAlive
✅ Enqueue_ReturnedTaskShouldBeCanceledWhenTaskFuncCanceled
✅ Enqueue_ReturnedTaskShouldBeFailedWhenTaskFuncFailed
✅ Enqueue_ReturnedTaskShouldCompleteWhenTaskFuncComplete
✅ Enqueue_ShouldExecuteInScheduledOrder
✅ Enqueue_ShouldThrowAfterDispose
✅ Enqueue_ShouldThrowAfterDisposeAsync
✅ Enqueue_WhenFinished_ShouldNotKeepReferenceToResult
✅ Enqueue_WhenInitiallyCanceled_ShouldExecuteOperation

✅ TaskFlow.Tests.Extensions.CancellationScopeTaskSchedulerExtensionsFixture

✅ MultipleScopes_Cancel_ShouldCancelOperationsThatBelongToScope(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ MultipleScopes_Cancel_ShouldCancelOperationsThatBelongToScope(System.Threading.Tasks.Flow.TaskFlow)
✅ SingleScope_Cancel_ShouldCancelOperationsThatBelongToScope(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ SingleScope_Cancel_ShouldCancelOperationsThatBelongToScope(System.Threading.Tasks.Flow.TaskFlow)

✅ TaskFlow.Tests.Extensions.CancelPreviousTaskSchedulerExtensionsFixture

✅ Enqueue_ShouldCancelPreviousOperation(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Enqueue_ShouldCancelPreviousOperation(System.Threading.Tasks.Flow.TaskFlow)
✅ Enqueue_ShouldNotCancelPreviousOperations_OnParentTaskScheduler(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Enqueue_ShouldNotCancelPreviousOperations_OnParentTaskScheduler(System.Threading.Tasks.Flow.TaskFlow)

✅ TaskFlow.Tests.Extensions.ExceptionTaskSchedulerExtensionsFixture

✅ Enqueue_MultipleHandlers_ShouldExecuteAllMatchingHandlers(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Enqueue_MultipleHandlers_ShouldExecuteAllMatchingHandlers(System.Threading.Tasks.Flow.TaskFlow)
✅ Enqueue_ShouldExecuteHandler_IfExceptionMatchingFilter(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Enqueue_ShouldExecuteHandler_IfExceptionMatchingFilter(System.Threading.Tasks.Flow.TaskFlow)
✅ Enqueue_ShouldExecuteHandler_IfExceptionOfThatTypeOccurred(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Enqueue_ShouldExecuteHandler_IfExceptionOfThatTypeOccurred(System.Threading.Tasks.Flow.TaskFlow)
✅ Enqueue_ShouldNotExecuteHandler_IfExceptionNotMatchingFilter(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Enqueue_ShouldNotExecuteHandler_IfExceptionNotMatchingFilter(System.Threading.Tasks.Flow.TaskFlow)
✅ Enqueue_ShouldNotExecuteHandler_IfExceptionOfAnotherTypeOccurred(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Enqueue_ShouldNotExecuteHandler_IfExceptionOfAnotherTypeOccurred(System.Threading.Tasks.Flow.TaskFlow)

✅ TaskFlow.Tests.Extensions.ThrottlingTaskSchedulerExtensionsFixture

✅ Enqueue_ShouldExecuteOnlyIfDebounceIntervalPassed(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Enqueue_ShouldExecuteOnlyIfDebounceIntervalPassed(System.Threading.Tasks.Flow.TaskFlow)
✅ Enqueue_ShouldThrowIfDebounceIntervalNotPassed(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Enqueue_ShouldThrowIfDebounceIntervalNotPassed(System.Threading.Tasks.Flow.TaskFlow)

✅ TaskFlow.Tests.Extensions.TimeoutTaskSchedulerExtensionsFixture

✅ InfiniteTimeout_ShouldNotThrowTimeoutException(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ InfiniteTimeout_ShouldNotThrowTimeoutException(System.Threading.Tasks.Flow.TaskFlow)
✅ NoTimeout_ShouldNotThrowTimeoutException(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ NoTimeout_ShouldNotThrowTimeoutException(System.Threading.Tasks.Flow.TaskFlow)
✅ Timeout_CancelsTask(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Timeout_CancelsTask(System.Threading.Tasks.Flow.TaskFlow)
✅ Timeout_ShouldThrowTimeoutException(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Timeout_ShouldThrowTimeoutException(System.Threading.Tasks.Flow.TaskFlow)
✅ Timeout_WhenOperationNameSpecified_ShouldThrowTimeoutExceptionWithOperationName(System.Threading.Tasks.Flow.DedicatedThreadTaskFlow)
✅ Timeout_WhenOperationNameSpecified_ShouldThrowTimeoutExceptionWithOperationName(System.Threading.Tasks.Flow.TaskFlow)

✅ TaskFlow.Tests.TaskFlowFixture

✅ Dispose_CanCallAfterDisposeAsync
✅ Dispose_CanCallMultipleTimes
✅ Dispose_ShouldNotThrowIfTaskFuncFailed
✅ Dispose_ShouldReturnFalseIfTimedOut
✅ Dispose_ShouldReturnTrueIfNotTimedOut
✅ Dispose_ShouldWaitQueuedOperations
✅ DisposeAsync_CanCallMultipleTimes
✅ DisposeAsync_ShouldCancelPendingTask
✅ DisposeAsync_ShouldNotThrowIfTaskFuncFailed
✅ DisposeAsync_ShouldWaitQueuedOperations
✅ Enqueue_AsyncContinuationShouldHappenBeforeNextEnqueuedItems(False)
✅ Enqueue_AsyncContinuationShouldHappenBeforeNextEnqueuedItems(True)
✅ Enqueue_AsyncContinuationShouldHappenOnSameScheduler(False)
✅ Enqueue_AsyncContinuationShouldHappenOnSameScheduler(True)
✅ Enqueue_AsyncContinuationThrowsException_ShouldExecuteNextOperation(False)
✅ Enqueue_AsyncContinuationThrowsException_ShouldExecuteNextOperation(True)
✅ Enqueue_CanExecuteNextOperationIfPreviousCanceled
✅ Enqueue_CanExecuteNextOperationIfPreviousFailed
✅ Enqueue_ExecuteInOrderIfIntermediateCanceled
✅ Enqueue_MultipleTimes_ShouldNotKeepReferencesToAllResults
✅ Enqueue_PropagatesStateToTaskFunc
✅ Enqueue_ResultReferencedFromStack_ResultShouldBeAlive
✅ Enqueue_ReturnedTaskShouldBeCanceledWhenTaskFuncCanceled
✅ Enqueue_ReturnedTaskShouldBeFailedWhenTaskFuncFailed
✅ Enqueue_ReturnedTaskShouldCompleteWhenTaskFuncComplete
✅ Enqueue_ShouldExecuteInScheduledOrder
✅ Enqueue_ShouldThrowAfterDispose
✅ Enqueue_ShouldThrowAfterDisposeAsync
✅ Enqueue_WhenFinished_ShouldNotKeepReferenceToResult
✅ Enqueue_WhenInitiallyCanceled_ShouldExecuteOperation