Dispose() protected method

protected Dispose ( bool isDisposing ) : void
isDisposing bool
return void
示例#1
0
        private static void OneTimeAssertions(MvxFullBinding binding, MockTargetBinding mockTarget, MockSourceBinding mockSource)
        {
            Assert.AreEqual(0, mockTarget.SubscribeToEventsCalled);

            Assert.AreEqual(1, mockTarget.Values.Count);
            Assert.AreEqual("TryGetValueValue", mockTarget.Values[0]);

            mockSource.TryGetValueValue = "SecondValue";
            mockSource.FireSourceChanged();
            Assert.AreEqual(1, mockTarget.Values.Count);

            mockSource.TryGetValueValue = "ThirdValue";
            mockSource.FireSourceChanged();
            Assert.AreEqual(1, mockTarget.Values.Count);

            Assert.AreEqual(0, mockSource.ValuesSet.Count);
            mockTarget.FireValueChanged(new MvxTargetChangedEventArgs("FromTarget1"));
            Assert.AreEqual(0, mockSource.ValuesSet.Count);
            mockTarget.FireValueChanged(new MvxTargetChangedEventArgs("FromTarget2"));
            Assert.AreEqual(0, mockSource.ValuesSet.Count);

            Assert.AreEqual(0, mockSource.DisposeCalled);
            Assert.AreEqual(0, mockTarget.DisposeCalled);

            binding.DataContext = new { ignored = 12 };
            Assert.AreEqual(1, mockSource.DisposeCalled);
            Assert.AreEqual(0, mockTarget.DisposeCalled);

            Assert.AreEqual(2, mockTarget.Values.Count);
            Assert.AreEqual("ThirdValue", mockTarget.Values[1]);

            binding.DataContext = new { ignored = 13 };
            Assert.AreEqual(2, mockSource.DisposeCalled);
            Assert.AreEqual(0, mockTarget.DisposeCalled);

            Assert.AreEqual(3, mockTarget.Values.Count);
            Assert.AreEqual("ThirdValue", mockTarget.Values[2]);

            mockSource.TryGetValueValue = "NewValue";
            mockSource.FireSourceChanged();
            Assert.AreEqual(3, mockTarget.Values.Count);

            mockTarget.FireValueChanged(new MvxTargetChangedEventArgs("FromTarget1"));
            Assert.AreEqual(0, mockSource.ValuesSet.Count);
            mockTarget.FireValueChanged(new MvxTargetChangedEventArgs("FromTarget2"));
            Assert.AreEqual(0, mockSource.ValuesSet.Count);

            binding.Dispose();
            Assert.AreEqual(3, mockSource.DisposeCalled);
            Assert.AreEqual(1, mockTarget.DisposeCalled);
        }