public void PropertyAspectTest() { MathIdentifier propertyId = new MathIdentifier("T0_PA", "FundamentTest"); NodeProperty property = NodeProperty.Register(propertyId, typeof(string), typeof(FundamentTest)); NodeObject n = new NodeObject(); _counter = 0; n.AddHandler(property.PropertyChangedEvent, new EventHandler <NodePropertyChangedEventArgs>(OnPropertyChanged)); Assert.AreEqual(0, _counter, "X1"); Assert.IsFalse(n.IsPropertySet(property, false), "A01"); Assert.IsFalse(n.IsPropertySet(property, true), "A02"); Assert.IsFalse(n.IsPropertyDirty(property), "A03"); Assert.AreEqual("nothing", n.GetProperty(property, "nothing", false), "A04"); Assert.AreEqual("nothing", n.GetProperty(property, "nothing", true), "A05"); n.SetProperty(property, "myvalue"); Assert.AreEqual(1, _counter, "X2"); Assert.AreEqual(null, _lastPropertyChangedEventArgs.OldValue, "X2a"); Assert.AreEqual("myvalue", _lastPropertyChangedEventArgs.NewValue, "X2b"); Assert.IsTrue(n.IsPropertySet(property, false), "B01"); Assert.IsTrue(n.IsPropertySet(property, true), "B02"); Assert.IsFalse(n.IsPropertyDirty(property), "B03"); Assert.AreEqual("myvalue", n.GetProperty(property, "nothing", false), "B04"); Assert.AreEqual("myvalue", n.GetProperty(property, "nothing", true), "B05"); n.DirtyPropertyIfSet(property); Assert.AreEqual(1, _counter, "X3"); Assert.IsFalse(n.IsPropertySet(property, false), "C01"); Assert.IsTrue(n.IsPropertySet(property, true), "C02"); Assert.IsTrue(n.IsPropertyDirty(property), "C03"); Assert.AreEqual("nothing", n.GetProperty(property, "nothing", false), "C04"); Assert.AreEqual("myvalue", n.GetProperty(property, "nothing", true), "C05"); n.SetProperty(property, "newvalue"); Assert.AreEqual(2, _counter, "X4"); Assert.AreEqual("myvalue", _lastPropertyChangedEventArgs.OldValue, "X4a"); Assert.AreEqual("newvalue", _lastPropertyChangedEventArgs.NewValue, "X4b"); Assert.IsTrue(n.IsPropertySet(property, false), "D01"); Assert.IsTrue(n.IsPropertySet(property, true), "D02"); Assert.IsFalse(n.IsPropertyDirty(property), "D03"); Assert.AreEqual("newvalue", n.GetProperty(property, "nothing", false), "D04"); Assert.AreEqual("newvalue", n.GetProperty(property, "nothing", true), "D05"); n.ClearProperty(property); Assert.AreEqual(3, _counter, "X5"); Assert.AreEqual("newvalue", _lastPropertyChangedEventArgs.OldValue, "X5a"); Assert.AreEqual(null, _lastPropertyChangedEventArgs.NewValue, "X5b"); Assert.IsFalse(n.IsPropertySet(property, false), "E01"); Assert.IsFalse(n.IsPropertySet(property, true), "E02"); Assert.IsFalse(n.IsPropertyDirty(property), "E03"); Assert.AreEqual("nothing", n.GetProperty(property, "nothing", false), "E04"); Assert.AreEqual("nothing", n.GetProperty(property, "nothing", true), "E05"); }
public void PropertyAspectTest() { MathIdentifier propertyId = new MathIdentifier("T0_PA", "FundamentTest"); NodeProperty property = NodeProperty.Register(propertyId, typeof(string), typeof(FundamentTest)); NodeObject n = new NodeObject(); _counter = 0; n.AddHandler(property.PropertyChangedEvent, new EventHandler<NodePropertyChangedEventArgs>(OnPropertyChanged)); Assert.AreEqual(0, _counter, "X1"); Assert.IsFalse(n.IsPropertySet(property, false), "A01"); Assert.IsFalse(n.IsPropertySet(property, true), "A02"); Assert.IsFalse(n.IsPropertyDirty(property), "A03"); Assert.AreEqual("nothing", n.GetProperty(property, "nothing", false), "A04"); Assert.AreEqual("nothing", n.GetProperty(property, "nothing", true), "A05"); n.SetProperty(property, "myvalue"); Assert.AreEqual(1, _counter, "X2"); Assert.AreEqual(null, _lastPropertyChangedEventArgs.OldValue, "X2a"); Assert.AreEqual("myvalue", _lastPropertyChangedEventArgs.NewValue, "X2b"); Assert.IsTrue(n.IsPropertySet(property, false), "B01"); Assert.IsTrue(n.IsPropertySet(property, true), "B02"); Assert.IsFalse(n.IsPropertyDirty(property), "B03"); Assert.AreEqual("myvalue", n.GetProperty(property, "nothing", false), "B04"); Assert.AreEqual("myvalue", n.GetProperty(property, "nothing", true), "B05"); n.DirtyPropertyIfSet(property); Assert.AreEqual(1, _counter, "X3"); Assert.IsFalse(n.IsPropertySet(property, false), "C01"); Assert.IsTrue(n.IsPropertySet(property, true), "C02"); Assert.IsTrue(n.IsPropertyDirty(property), "C03"); Assert.AreEqual("nothing", n.GetProperty(property, "nothing", false), "C04"); Assert.AreEqual("myvalue", n.GetProperty(property, "nothing", true), "C05"); n.SetProperty(property, "newvalue"); Assert.AreEqual(2, _counter, "X4"); Assert.AreEqual("myvalue", _lastPropertyChangedEventArgs.OldValue, "X4a"); Assert.AreEqual("newvalue", _lastPropertyChangedEventArgs.NewValue, "X4b"); Assert.IsTrue(n.IsPropertySet(property, false), "D01"); Assert.IsTrue(n.IsPropertySet(property, true), "D02"); Assert.IsFalse(n.IsPropertyDirty(property), "D03"); Assert.AreEqual("newvalue", n.GetProperty(property, "nothing", false), "D04"); Assert.AreEqual("newvalue", n.GetProperty(property, "nothing", true), "D05"); n.ClearProperty(property); Assert.AreEqual(3, _counter, "X5"); Assert.AreEqual("newvalue", _lastPropertyChangedEventArgs.OldValue, "X5a"); Assert.AreEqual(null, _lastPropertyChangedEventArgs.NewValue, "X5b"); Assert.IsFalse(n.IsPropertySet(property, false), "E01"); Assert.IsFalse(n.IsPropertySet(property, true), "E02"); Assert.IsFalse(n.IsPropertyDirty(property), "E03"); Assert.AreEqual("nothing", n.GetProperty(property, "nothing", false), "E04"); Assert.AreEqual("nothing", n.GetProperty(property, "nothing", true), "E05"); }