Class TestDurableTaskSequence<TResult>
- Namespace
- XBullet.EasyTesting.AzureFunctions
- Assembly
- XBullet.EasyTesting.AzureFunctions.dll
Supplies ordered results and failures to explicit task handlers or connected activity delegates.
public sealed class TestDurableTaskSequence<TResult> : ITestScenarioResource
Type Parameters
TResultThe result type retained by reference.
- Inheritance
-
TestDurableTaskSequence<TResult>
- Implements
- Inherited Members
- Extension Methods
Remarks
Concurrent calls reserve successive steps in invocation order. Exhaustion fails explicitly. Reset rewinds consumption and preserves configured steps. Register separately as a scenario resource when needed.
Properties
ConsumedCount
Gets the number of consumed configured steps.
public int ConsumedCount { get; }
Property Value
- int
A count excluding canceled submissions and exhausted calls.
Methods
CaptureDiagnosticsAsync(CancellationToken)
Captures configured, consumed, and remaining step counts.
public ValueTask<object?> CaptureDiagnosticsAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationTokenCancels before capture.
Returns
NextAsync(CancellationToken)
Reserves the next configured outcome and returns its result or original failure.
public Task<TResult> NextAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationTokenCancels before consuming a step.
Returns
- Task<TResult>
A completed or faulted task; the sequence does not schedule work or perform retries itself.
ResetAsync(CancellationToken)
Rewinds consumption while preserving configured outcomes.
public ValueTask ResetAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationTokenCancels before rewinding.
Returns
- ValueTask
A completed task after reset.
ThenReturn(TResult)
Adds a successful outcome before consumption starts or after reset.
public TestDurableTaskSequence<TResult> ThenReturn(TResult result)
Parameters
resultTResultThe result retained without cloning.
Returns
- TestDurableTaskSequence<TResult>
This sequence for chaining.
ThenThrow(Exception)
Adds an exceptional outcome before consumption starts or after reset.
public TestDurableTaskSequence<TResult> ThenThrow(Exception exception)
Parameters
exceptionExceptionThe non-null original exception returned by the next corresponding step.
Returns
- TestDurableTaskSequence<TResult>
This sequence for chaining.