public void ShouldExchangeAndReturnOldValue() { ReferenceMock reference = Reference; AtomicReference<ReferenceMock> ar = new AtomicReference<ReferenceMock>(reference); ReferenceMock new_mock = new ReferenceMock("new_mock"); ReferenceMock old_mock = ar.Exchange(new_mock); Assert.AreEqual(new_mock, ar.Value); Assert.AreEqual(reference, old_mock); }
public void ShouldNotUpdateWhenComparisonIsFalseAndReturnOldValue() { ReferenceMock reference = Reference; AtomicReference<ReferenceMock> ar = new AtomicReference<ReferenceMock>(reference); ReferenceMock new_mock = new ReferenceMock("new-mock"); ReferenceMock old_mock = ar.CompareExchange(new_mock, new_mock); Assert.AreEqual(reference, ar.Value); Assert.AreEqual(reference, old_mock); }
public void ShouldExchangeAndReturnOldValue() { ReferenceMock reference = Reference; AtomicReference <ReferenceMock> ar = new AtomicReference <ReferenceMock>(reference); ReferenceMock new_mock = new ReferenceMock("new_mock"); ReferenceMock old_mock = ar.Exchange(new_mock); Assert.AreEqual(new_mock, ar.Value); Assert.AreEqual(reference, old_mock); }
public void ShouldNotUpdateWhenComparisonIsFalseAndReturnOldValue() { ReferenceMock reference = Reference; AtomicReference <ReferenceMock> ar = new AtomicReference <ReferenceMock>(reference); ReferenceMock new_mock = new ReferenceMock("new-mock"); ReferenceMock old_mock = ar.CompareExchange(new_mock, new_mock); Assert.AreEqual(reference, ar.Value); Assert.AreEqual(reference, old_mock); }