Ejemplo n.º 1
0
        public void Tests()
        {
            var root = new RootClass();

            Assert.Null(root.Name);
            root.Name = "Root";

            var propertyChanged = 0;

            root.OnNotify.Add(p =>
            {
                propertyChanged++;
            });


            Assert.Equal("Root.NumericClass.IntProperty", root.NumericClass.IntProperty.FullName);

            Assert.NotEmpty(root.ChangedProperties());
            Assert.Equal(4, root.ChangedProperties().Count());

            Assert.Empty(root.ChangedProperties().Where(i => i.TimeStamp != DateTime.MinValue));

            root.NumericClass.DoubleProperty.Value = 4711;
            Assert.Equal(1, propertyChanged);

            Assert.Single(root.ChangedProperties().Where(i => i.TimeStamp != DateTime.MinValue));

            foreach (var item in root.ChangedProperties())
            {
                WriteLine(item.ToChangeString(false));
                WriteLine(item.ToChangeString(true));
            }
        }