//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void mustReleaseUnpreparedLocksOnStop() public virtual void MustReleaseUnpreparedLocksOnStop() { // Given ClientA.acquireShared(_tracer, NODE, 1L); ClientA.acquireExclusive(_tracer, NODE, 2L); // When ClientA.stop(); // The client was stopped before it could enter the prepare phase, so all of its locks are released LockCountVisitor lockCountVisitor = new LockCountVisitor(); Locks.accept(lockCountVisitor); assertEquals(0, lockCountVisitor.LockCount); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void prepareMustAllowAcquiringNewLocksAfterStop() public virtual void PrepareMustAllowAcquiringNewLocksAfterStop() { // Given ClientA.prepare(); ClientA.stop(); // When ClientA.acquireShared(_tracer, NODE, 1); ClientA.acquireExclusive(_tracer, NODE, 2); // Stopped essentially has no effect when it comes after the client has entered the prepare phase LockCountVisitor lockCountVisitor = new LockCountVisitor(); Locks.accept(lockCountVisitor); assertEquals(2, lockCountVisitor.LockCount); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void mustNotReleaseLocksAfterPrepareOnStop() public virtual void MustNotReleaseLocksAfterPrepareOnStop() { // Given ClientA.acquireShared(_tracer, NODE, 1L); ClientA.acquireExclusive(_tracer, NODE, 2L); ClientA.prepare(); // When ClientA.stop(); // The client entered the prepare phase, so it gets to keep its locks LockCountVisitor lockCountVisitor = new LockCountVisitor(); Locks.accept(lockCountVisitor); assertEquals(2, lockCountVisitor.LockCount); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void mustReleaseReadLockWaitersOnStop() public virtual void MustReleaseReadLockWaitersOnStop() { // Given ClientA.acquireExclusive(_tracer, NODE, 1L); ClientB.acquireExclusive(_tracer, NODE, 2L); AcquireShared(ClientB, _tracer, NODE, 1L).callAndAssertWaiting(); // When ClientB.stop(); ClientA.stop(); // All locks clients should be stopped at this point, and all all locks should be released because none of the // clients entered the prepare phase LockCountVisitor lockCountVisitor = new LockCountVisitor(); Locks.accept(lockCountVisitor); assertEquals(0, lockCountVisitor.LockCount); }