Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
            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));
                }
            }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 public StrataTestData(Stratabase sb, Guid id)
 {
     m_name  = sb.GeneratePropertyAccess <string>(id, nameof(TestData.Name));
     m_value = sb.GeneratePropertyAccess <int>(id, nameof(TestData.Value));
 }