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);
    }
示例#2
0
        public void TestAtomicReferenceDefaultCtor()
        {
            var ar = new AtomicReference <Order>();

            Assert.Null(ar.Value);
            var newOrder = new Order {
                Id = 2, Name = "2"
            };

            Assert.True(ar.CompareExchange(newOrder, null));
            Assert.Same(newOrder, ar.Value);
        }