public void LowerLevelPropertiesTest() { var myobj = new NoNotify() { Person = new Person(), Blah = "Blah" }; var notifier = new NestedPropertyChangedNotifier <NoNotify>(3); notifier.Object = myobj; // Change some values and make sure that events are raised bool raised = false; notifier.PropertyChanged += ((s, a) => raised = true); myobj.Person.ID = 1; Assert.True(raised); raised = false; myobj.Person.Address = new Address(); Assert.True(raised); raised = false; myobj.Person.Address.City = new City(); Assert.True(raised); raised = false; // Changing a value on the top level object won't raise anything myobj.Blah = "No Blah"; Assert.False(raised); }
public void LowerLevelPropertiesTest() { var myobj = new NoNotify() { Person = new Person(), Blah = "Blah" }; var notifier = new NestedPropertyChangedNotifier<NoNotify>(3); notifier.Object = myobj; // Change some values and make sure that events are raised bool raised = false; notifier.PropertyChanged += ((s, a) => raised = true); myobj.Person.ID = 1; Assert.True(raised); raised = false; myobj.Person.Address = new Address(); Assert.True(raised); raised = false; myobj.Person.Address.City = new City(); Assert.True(raised); raised = false; // Changing a value on the top level object won't raise anything myobj.Blah = "No Blah"; Assert.False(raised); }