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);
    }
Example #3
0
        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);
        }
Example #4
0
        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);
        }