public void TestSubscribePropChangedTyped() { // TODO: AAA mod1 = new AllPropsRegisteredModel(PropBagTypeSafetyMode.AllPropsMustBeRegistered, _amHelpers.StoreAccessCreator, _amHelpers.PropFactory_V1); mod1.SubscribeToPropChanged <int>(DoWhenPropIntChangesTyped, "PropInt"); mod1.PropInt = 0; mod1.PropInt = 1; Assert.That(typedOldVal, Is.EqualTo(0), "The old value should have been 0."); Assert.That(typedNewVal, Is.EqualTo(1), "The new value should have been 1."); mod1.UnSubscribeToPropChanged <int>(DoWhenPropIntChangesTyped, "PropInt"); mod1.PropInt = 2; Assert.That(typedOldVal, Is.EqualTo(0), "The old value should have been 0. The action did not get unsubscribed."); Assert.That(typedNewVal, Is.EqualTo(1), "The new value should have been 1."); }
public void TestSubscribePropChangedGen() { // TODO: AAA mod1 = new AllPropsRegisteredModel(PropBagTypeSafetyMode.AllPropsMustBeRegistered, _amHelpers.StoreAccessCreator, _amHelpers.PropFactory_V1); mod1.SubscribeToPropChanged(eventHandler: DoWhenPropIntChangesGen, propertyName: "PropInt", propertyType: typeof(int)); mod1.PropInt = 0; mod1.PropInt = 1; Assert.That(genObjOldVal, Is.EqualTo(0), "The old value should have been 0."); Assert.That(genObjNewVal, Is.EqualTo(1), "The new value should have been 1."); mod1.UnSubscribeToPropChanged(eventHandler: DoWhenPropIntChangesGen, propertyName: "PropInt", propertyType: typeof(int)); mod1.PropInt = 2; Assert.That(genObjOldVal, Is.EqualTo(0), "The old value should have been 0. The action did not get unsubcribed."); Assert.That(genObjNewVal, Is.EqualTo(1), "The new value should have been 1."); }
public void TestPropertyChangedObject() { // TODO: AAA mod1 = new AllPropsRegisteredModel(PropBagTypeSafetyMode.AllPropsMustBeRegistered, _amHelpers.StoreAccessCreator, _amHelpers.PropFactory_V1); //Action<object, EventArgs> objHandler = this.TestHandler; //WeakReference Target = new WeakReference(objHandler.Target); //MethodInfo mi = objHandler.Method; ////Delegate ttt = mi.CreateDelegate(); //Type dType = objHandler.Method.GetDelegateType(); //var temp3 = Delegate.CreateDelegate(dType, null, objHandler.Method); //var temp4 = Convert.ChangeType(temp3, dType); ////Main(); //Action<TestAllPropsRegistered, object, EventArgs> xx = (Action<TestAllPropsRegistered, object, EventArgs>)Delegate.CreateDelegate(typeof(Action<TestAllPropsRegistered, object, EventArgs>), null, mi); ////PCObjEventHandler temp = (PCObjEventHandler) Delegate.CreateDelegate(typeof(PCObjEventHandler), null, sKey.ObjHandler.Method); ////ObjHandler = temp; ////PCObjectEventAction temp2 = (PCObjectEventAction) Delegate.CreateDelegate(typeof(PCObjectEventAction), null, sKey.ObjHandler.Method); ////ObjHandlerProxy = temp4; //string methodName = objHandler.Method.Name; mod1.SubscribeToPropChanged(Mod1_PropertyChangedWithObjectVals, "PropInt"); mod1.PropInt = 0; mod1.PropInt = 1; Assert.That(genObjOldVal, Is.EqualTo(0), "The old value should have been 0."); Assert.That(genObjNewVal, Is.EqualTo(1), "The old value should have been 1."); }