Example #1
0
        //  [Test]
        public void NotifyPropertyChanged_Equal_2_Test()
        {
            var notifyPropertyChangedTestObject = new Parameter <ParameterTestObject> {
                Value = new ParameterTestObject()
            };
            var expression = notifyPropertyChangedTestObject.Value.IntParameterExpression;

            using var observer1 = ParameterObserver.Observes(expression, () => { });
            using var observer2 = ParameterObserver.Observes(notifyPropertyChangedTestObject.Value, o => o.IntParameter,
                                                             () => { });
            Assert.True(observer1.Equals(observer2));
        }
Example #2
0
        public void NotifyPropertyChanged_Expression_Integer_AutoActivate_True()
        {
            var actionRaised = false;
            var notifyPropertyChangedTestObject = new ParameterTestObject();

            using var observer1 = ParameterObserver.Observes(
                      notifyPropertyChangedTestObject.IntParameterExpression,
                      () => actionRaised = true);
            Assert.False(actionRaised);
            notifyPropertyChangedTestObject.IntParameter.Value = 2;
            Assert.True(actionRaised);
        }
Example #3
0
        public void NotifyPropertyChanged_IntParameter_Integer_True()
        {
            var count = 0;
            var notifyPropertyChangedTestObject = new ParameterTestObject();

            using var observer1 = ParameterObserver.Observes(() => notifyPropertyChangedTestObject.IntParameter,
                                                             () => count++, false);
            Assert.AreEqual(0, count);
            notifyPropertyChangedTestObject.IntParameter.Value = 2;
            Assert.AreEqual(0, count);
            observer1.Subscribe(true);
            notifyPropertyChangedTestObject.IntParameter.Value = 3;
            Assert.AreEqual(1, count);
            observer1.Unsubscribe();
            notifyPropertyChangedTestObject.IntParameter.Value = 4;
            Assert.AreEqual(1, count);
        }
Example #4
0
        public void NotifyPropertyChanged_OwnerExpression_ComplexProperty_Value_Integer_AutoActivate_True()
        {
            var actionRaised = false;
            var notifyPropertyChangedTestObject = new ParameterTestObject();

            notifyPropertyChangedTestObject.IntParameter.Value    = 10;
            notifyPropertyChangedTestObject.ComplexProperty.Value = new ComplexParameterType();
            notifyPropertyChangedTestObject.ComplexProperty.Value.IntProperty.Value = 11;

            using var observer1 = ParameterObserver.Observes(
                      notifyPropertyChangedTestObject,
                      o => o.ComplexProperty.Value.IntProperty.Value,
                      () => { actionRaised = true; });
            notifyPropertyChangedTestObject.ComplexProperty.Value.IntProperty.ValueChanged += (sender, args) =>
            {
                var i = 1;
            };
            Assert.False(actionRaised);
            notifyPropertyChangedTestObject.ComplexProperty.Value.IntProperty.Value = 2;
            Assert.True(actionRaised);
        }