Skip to content
Tracon

RepeatableToolContract

Namespace Tracon.Testing.Contracts.Tools · Assembly Tracon.Testing.Contracts.Xunit.dll

Behavior tests for a custom tool that can safely be repeated.

public abstract class RepeatableToolContract : CustomToolContract, IAsyncLifetime, IAsyncDisposable
Inheritance
object ← CustomToolContract ← RepeatableToolContract
Implements
IAsyncLifetime, IAsyncDisposable
Inherited Members
CustomToolContract.CreateRegistrationAsync(), CustomToolContract.InitializeAsync(), CustomToolContract.DisposeAsync(), CustomToolContract.Name_is_stable_and_valid(), CustomToolContract.Concurrent_server_calls_complete(), CustomToolContract.Metadata_is_self_consistent(), CustomToolContract.Registration, CustomToolContract.ExpectedResultText, object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Derive from this contract only when the tool declares TraconToolRegistration.SafeToRepeat. The base CustomToolContract remains the contract for tools that do not make that idempotency promise.

protected RepeatableToolContract()

Verifies that the registration makes the repeatability promise.

[Fact]
public void Registration_is_marked_safe_to_repeat()