public void Stratabase_AccessAfterSet() { Stratabase sb = new Stratabase(1); var id = Guid.NewGuid(); sb.SetBaselinePropertyValue(id, "Pi", 2.9); sb.SetOverridePropertyValue(0, id, "Pi", 3.14159); StrataPropertyValueAccess <double> pi = sb.GeneratePropertyAccess <double>(id, "Pi"); Assert.AreEqual(3.14159, pi.GetValue()); }
public void Stratabase_EventsFire() { bool expectingIsBaselineSetChange = false, expectingIsSetChange = false, expectingValueChange = false; Stratabase sb = new Stratabase(1); var id = Guid.NewGuid(); StrataPropertyValueAccess <double> pi = sb.GeneratePropertyAccess <double>(id, "Pi"); pi.IsBaselineSetChanged += _OnIsBaselineSetChanged; pi.IsSetChanged += _OnIsSetChanged; pi.ValueChanged += _OnValueChanged; expectingIsBaselineSetChange = true; expectingIsSetChange = true; expectingValueChange = true; pi.SetBaselineValue(3.14159); Assert.IsFalse(expectingIsSetChange); Assert.IsFalse(expectingIsBaselineSetChange); Assert.IsFalse(expectingValueChange); expectingValueChange = true; pi.SetOverrideValue(0, 5.0); Assert.IsFalse(expectingValueChange); expectingIsBaselineSetChange = true; pi.ClearBaselineValue(); Assert.IsFalse(expectingIsBaselineSetChange); expectingValueChange = true; expectingIsSetChange = true; pi.ClearOverrideValue(0); Assert.IsFalse(expectingIsSetChange); Assert.IsFalse(expectingValueChange); void _OnIsBaselineSetChanged(object sender, EventArgs e) { Assert.IsTrue(expectingIsBaselineSetChange); expectingIsBaselineSetChange = false; } void _OnIsSetChanged(object sender, EventArgs e) { Assert.IsTrue(expectingIsSetChange); expectingIsSetChange = false; } void _OnValueChanged(object sender, EventArgs e) { Assert.IsTrue(expectingValueChange); expectingValueChange = false; } }
public StrataTreeItem(Stratabase sb, Guid id) { this.Id = id; m_sb = sb; m_name = sb.GeneratePropertyAccess <string>(id, nameof(TreeItem.Name)); m_name.ValueChanged += (o, e) => this.RaisePropertyChanged(nameof(Name)); m_childrenIds = sb.GenerateListPropertyAccess <Guid>(id, nameof(TreeItem.Children)); m_children = new StrataListPropertyAdapter <Guid, StrataTreeItem>(m_childrenIds, _GenerateItem); StrataTreeItem _GenerateItem(Stratabase _sb, Guid _id) { return(new StrataTreeItem(_sb, _id)); } }
public void Stratabase_ClearAndIsBaselineSet() { Stratabase sb = new Stratabase(1); var id = Guid.NewGuid(); StrataPropertyValueAccess <double> pi = sb.GeneratePropertyAccess <double>(id, "Pi"); Assert.IsFalse(pi.IsBaselineSet); Assert.IsFalse(pi.IsSet); sb.SetBaselinePropertyValue(id, "Pi", 2.9); Assert.IsTrue(pi.IsSet); Assert.AreEqual(2.9, pi.GetValue()); sb.SetOverridePropertyValue(0, id, "Pi", 3.14159); Assert.AreEqual(3.14159, pi.GetValue()); sb.ClearPropertyBaseline(id, "Pi"); Assert.IsFalse(pi.IsBaselineSet); Assert.IsTrue(pi.IsSet); }
public StrataTestData(Stratabase sb, Guid id) { m_name = sb.GeneratePropertyAccess <string>(id, nameof(TestData.Name)); m_value = sb.GeneratePropertyAccess <int>(id, nameof(TestData.Value)); }