示例#1
0
        public void TestSetMonitorProtectionFromChange()
        {
            const int valueIndex   = 2;
            var       initialValue = InitialValues[valueIndex];
            var       key          = initialValue.Key;
            var       value        = initialValue.Value;

            const string changedValue = "ChangedValue";

            AssertStartup(TestMonitor);
            Assert.AreEqual(ChangeCount, 0);

            AssertValueChange(TestMonitor, key, changedValue);
            Assert.AreEqual(ChangeCount, 1);

            AssertValueChange(TestMonitor, key, value);
            Assert.AreEqual(ChangeCount, 2);

            // Setting the value to itself.
            TestMonitor.InnerSet[key] = value;
            TestMonitor.WaitOnUpdate();
            Assert.AreEqual(ChangeCount, 2);

            Assert.IsTrue(TestMonitor.Stop());
        }