Example #1
0
        public void Subscription_MismatchingPropertyChanged_DoesNotInvokeHandler()
        {
            TestDerivedObject test = new TestDerivedObject();
            bool called            = false;

            test.SubscribeToPropertyChanged(x => x.ValueProperty, x => called = true);
            test.ObjectProperty = new object();

            Assert.IsFalse(called, "SubscribeToPropertyChanged should not invoke handler when other properties change");
        }
Example #2
0
        public void Subscription_MatchingPropertyChanged_InvokesHandler()
        {
            TestDerivedObject test = new TestDerivedObject();
            bool called            = false;

            test.SubscribeToPropertyChanged(x => x.ValueProperty, x => called = true);
            test.ValueProperty = 13;

            Assert.IsTrue(called, "SubscribeToPropertyChanged should invoke handler when property changes");
        }
Example #3
0
        private TestObject ProcessTestObjectForNamedCodeAsserter(out TestDerivedObject derivedObj)
        {
            TestObject testObj = new TestObject();

            testObj.FirstName = "manish";

            derivedObj               = new TestDerivedObject();
            derivedObj.FirstName     = "derived";
            derivedObj.MiddleInitial = "m";
            return(testObj);
        }
Example #4
0
        private TestObject ProcessMixedAsserters(
            [CodeAsserter] out TestDerivedObject derivedObject)
        {
            TestObject testObj = new TestObject();

            testObj.FirstName = "manish";

            derivedObject               = new TestDerivedObject();
            derivedObject.FirstName     = "derived";
            derivedObject.MiddleInitial = "m";
            return(testObj);
        }
Example #5
0
        public void Subscription_ReturnsUnsubscribableDelegate()
        {
            TestDerivedObject test = new TestDerivedObject();
            bool called            = false;

            var unsubscribe = test.SubscribeToPropertyChanged(x => x.ValueProperty, x => called = true);

            test.PropertyChanged -= unsubscribe;
            test.ValueProperty    = 13;

            Assert.IsFalse(called, "SubscribeToPropertyChanged should not invoke handler when unsubscribed");
        }
Example #6
0
        public void OnItemsPropertyChanged_InvokesHandler_WithCorrectPropertyName()
        {
            TestDerivedObject test = new TestDerivedObject();
            bool called            = false;

            test.PropertyChanged += (_, x) => { if (x.PropertyName == "Items[]")
                                                {
                                                    called = true;
                                                }
            };
            test.RaiseItems();

            Assert.IsTrue(called, "OnItemsPropertyChanged should invoke handler with property name 'Items[]'");
        }
Example #7
0
        public void TestDerivedSubscription()
        {
            TestDerivedObject test = new TestDerivedObject();
            bool called            = false;

            // Ensure the PropertyChangedEventHandler.Raise extension method will not fail when its "this" parameter is null
            test.ObjectProperty = new object();

            test.SubscribeToPropertyChanged(x => x.ValueProperty, x => called = true);

            Assert.AreEqual(false, called);

            test.ObjectProperty = new object();

            Assert.AreEqual(false, called);

            test.ValueProperty = 13;

            Assert.AreEqual(true, called);
        }
Example #8
0
 private TestObject ProcessMultipleTestObjects(TestObject parentObj, TestObject baseChildObj, TestDerivedObject derivedChildObj)
 {
     parentObj.Id       = 100;
     parentObj.Child    = baseChildObj;
     baseChildObj.Child = derivedChildObj;
     return(parentObj);
 }
Example #9
0
 private void ProcessMixedDataProviders(TestObject testObject,
                                        [CodeDataProvider] TestDerivedObject derivedObject)
 {
     Assert.IsNotNull(testObject);
     Assert.IsNotNull(derivedObject);
 }
Example #10
0
 private void ProcessTestObjectFromNamedMethod(TestObject testObject, TestDerivedObject derivedObject)
 {
     Assert.IsNotNull(testObject);
     Assert.IsNotNull(derivedObject);
 }
Example #11
0
 private TestObject GetMultipleTestObjects(TestObject parentObj, out TestDerivedObject derivedChildObj)
 {
     derivedChildObj = (TestDerivedObject)parentObj.Child;
     return(parentObj);
 }