public void PropertyChangeMap_OneWay_Changing() { PropertyChangeMap <Entity> map; Entity entity; bool nameChanging; entity = new Entity(); map = new PropertyChangeMap <Entity>(entity); map.OneWay("Name", "FirstName", "LastName"); entity.PropertyChanging += new PropertyChangingEventHandler((s, a) => { if (a.PropertyName == "Name") { nameChanging = true; } }); nameChanging = false; entity.FirstName = null; Assert.IsTrue(nameChanging); Assert.AreEqual("", entity.Name); nameChanging = false; entity.LastName = null; Assert.IsTrue(nameChanging); Assert.AreEqual("", entity.Name); nameChanging = false; entity.FirstName = "Jeff"; Assert.IsTrue(nameChanging); Assert.AreEqual("Jeff", entity.Name); nameChanging = false; entity.LastName = "Lill"; Assert.IsTrue(nameChanging); Assert.AreEqual("Jeff Lill", entity.Name); }
public void PropertyChangeMap_Multiple_Changing() { PropertyChangeMap <Entity> map; Entity entity; bool nameChanging; bool ageChanging; bool ageSecondsChanging; entity = new Entity(); map = new PropertyChangeMap <Entity>(entity); map.OneWay("Name", "FirstName", "LastName"); map.TwoWay("Age", "AgeSeconds"); entity.PropertyChanging += new PropertyChangingEventHandler((s, a) => { switch (a.PropertyName) { case "Name": nameChanging = true; break; case "Age": ageChanging = true; break; case "AgeSeconds": ageSecondsChanging = true; break; } }); nameChanging = false; entity.FirstName = null; Assert.IsTrue(nameChanging); Assert.AreEqual("", entity.Name); nameChanging = false; entity.LastName = null; Assert.IsTrue(nameChanging); Assert.AreEqual("", entity.Name); nameChanging = false; entity.FirstName = "Jeff"; Assert.IsTrue(nameChanging); Assert.AreEqual("Jeff", entity.Name); nameChanging = false; entity.LastName = "Lill"; Assert.IsTrue(nameChanging); Assert.AreEqual("Jeff Lill", entity.Name); ageChanging = false; ageSecondsChanging = false; entity.Age = TimeSpan.FromSeconds(2.0); Assert.IsTrue(ageChanging); Assert.IsTrue(ageSecondsChanging); Assert.AreEqual(TimeSpan.FromSeconds(2.0), entity.Age); Assert.AreEqual(2.0, entity.AgeSeconds); ageChanging = false; ageSecondsChanging = false; entity.AgeSeconds = 3.0; Assert.IsTrue(ageChanging); Assert.IsTrue(ageSecondsChanging); Assert.AreEqual(TimeSpan.FromSeconds(3.0), entity.Age); Assert.AreEqual(3.0, entity.AgeSeconds); }