# MembershipTableTestRunner

Package: [Microsoft.Orleans.Clustering.TestKit](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/) 10.0.0

[Source](https://github.com/dotnet/orleans/blob/8bc9fd244427351ad24ccc039a9e7642a42c1cc4/src/Orleans.Clustering.TestKit/MembershipTableTestRunner.cs#L9)

```csharp
public sealed class MembershipTableTestRunner
```

Sealed, unconditional, individually invocable membership table guarantees.

## Remarks

Use a fresh initialized fixture for each method. Failed assertions and infrastructure errors propagate to the caller.

## Constructors

- [MembershipTableTestRunner(MembershipTableTestFixture, int, Action&lt;string&gt;, int)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/constructors/constructor-orleans-clustering-testkit-membershiptabletestfixture-int-system-act-d4abf678/)

## Methods

- [CleanupDefunctSiloEntries_RemovesOnlyStrictlyOldDeadRows(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/cleanupdefunctsiloentries-removesonlystrictlyolddeadrows-system-threading-cancel-0d0f0719/)
- [Clusters_SharedBackendWithOverlappingSiloAddresses_AreIsolated(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/clusters-sharedbackendwithoverlappingsiloaddresses-areisolated-system-threading-473ec34c/)
- [ConcurrentCrossRowUpdates_SharedTableVersion_HaveExactlyOneWinner(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/concurrentcrossrowupdates-sharedtableversion-haveexactlyonewinner-system-threadi-2dd1590c/)
- [ConcurrentReadAll_ReturnsOnlyAtomicCommittedViews(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/concurrentreadall-returnsonlyatomiccommittedviews-system-threading-cancellationt-b008e03a/)
- [ConcurrentReadRow_ReturnsOnlyAtomicCommittedViews(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/concurrentreadrow-returnsonlyatomiccommittedviews-system-threading-cancellationt-4a5fc72d/)
- [DeleteMembershipTableEntries_DeletesOwnClusterAndPreservesOtherCluster(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/deletemembershiptableentries-deletesownclusterandpreservesothercluster-system-th-e223a133/)
- [DeleteMembershipTableEntries_DifferentClusterId_NeverDeletesConfiguredCluster(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/deletemembershiptableentries-differentclusterid-neverdeletesconfiguredcluster-sy-6c3df82a/)
- [Handles_IndependentlyConstructed_ShareCommittedBackingState(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/handles-independentlyconstructed-sharecommittedbackingstate-system-threading-can-b9318110/)
- [InitializeMembershipTable_RepeatedWithData_PreservesCommittedState(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/initializemembershiptable-repeatedwithdata-preservescommittedstate-system-thread-745ef17b/)
- [InsertRow_CurrentTableVersion_CommitsExactlyOneVersion(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/insertrow-currenttableversion-commitsexactlyoneversion-system-threading-cancella-1fe5886b/)
- [InsertRow_DuplicateIdentity_ReturnsFalseWithoutSideEffects(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/insertrow-duplicateidentity-returnsfalsewithoutsideeffects-system-threading-canc-00f22ace/)
- [InsertRow_MutatingInputAndSuspectList_DoesNotMutateStoredState(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/insertrow-mutatinginputandsuspectlist-doesnotmutatestoredstate-system-threading-1cc0fd39/)
- [InsertRow_StaleTableToken_ReturnsFalseWithoutSideEffects(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/insertrow-staletabletoken-returnsfalsewithoutsideeffects-system-threading-cancel-34fe7a2b/)
- [Lifecycle_DeadRemainsTerminalAfterCompaction_SuccessorUsesNewGeneration(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/lifecycle-deadremainsterminalaftercompaction-successorusesnewgeneration-system-t-39b436f3/)
- [ReadRow_AndReadAll_AgreeForPresentAndAbsentIdentities(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/readrow-andreadall-agreeforpresentandabsentidentities-system-threading-cancellat-8b6c4653/)
- [Reads_MaySkipCommittedVersions_WithoutSkippingHistoryValidation(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/reads-mayskipcommittedversions-withoutskippinghistoryvalidation-system-threading-1295bf8b/)
- [Reads_MutatingReturnedEntryAndSuspectList_DoesNotMutateStoredState(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/reads-mutatingreturnedentryandsuspectlist-doesnotmutatestoredstate-system-thread-2133de2c/)
- [Reads_RetainedObjectsRemainUnchangedAfterLaterWrites(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/reads-retainedobjectsremainunchangedafterlaterwrites-system-threading-cancellati-94bb8470/)
- [Reads_SameVersion_PreservesRetainedCanonicalFields(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/reads-sameversion-preservesretainedcanonicalfields-system-threading-cancellation-0b83ba42/)
- [UpdateIAmAlive_OwnerWrites_PreserveCanonicalFieldsAndTableVersion(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/updateiamalive-ownerwrites-preservecanonicalfieldsandtableversion-system-threadi-8768fd05/)
- [UpdateRow_CurrentTokens_CommitsExactlyOneVersion(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/updaterow-currenttokens-commitsexactlyoneversion-system-threading-cancellationto-6d7f21f5/)
- [UpdateRow_MissingIdentityWithRealToken_ReturnsFalseWithoutSideEffects(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/updaterow-missingidentitywithrealtoken-returnsfalsewithoutsideeffects-system-thr-c3397490/)
- [UpdateRow_MutatingInputAndSuspectList_DoesNotMutateStoredState(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/updaterow-mutatinginputandsuspectlist-doesnotmutatestoredstate-system-threading-9171db29/)
- [UpdateRow_StaleSnapshotAfterSameRowCommit_ReturnsFalseWithoutSideEffects(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/updaterow-stalesnapshotaftersamerowcommit-returnsfalsewithoutsideeffects-system-b5dfa8fb/)
- [UpdateRow_StaleTableTokenWithCurrentRowToken_ReturnsFalseWithoutSideEffects(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/updaterow-staletabletokenwithcurrentrowtoken-returnsfalsewithoutsideeffects-syst-ba458a25/)
- [UpdateRow_TokensCapturedBeforeHeartbeat_CommitStatusChange(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/updaterow-tokenscapturedbeforeheartbeat-commitstatuschange-system-threading-canc-fe803436/)
- [UpdateRow_TokensCapturedBeforeHeartbeat_CommitVoteChange(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.clustering.testkit/orleans.clustering.testkit.membershiptabletestrunner/methods/updaterow-tokenscapturedbeforeheartbeat-commitvotechange-system-threading-cancel-3167d458/)
