Ejemplo n.º 1
0
        public void TestCreate()
        {
            Object1 o = Object1.CreateInstance();

            Assert.That(o.Field4, Is.EqualTo(2L));
            Assert.That(o.Field3, Is.EqualTo(new DateTime(2, 2, 2)));
            Assert.That(o.Field13, Is.EqualTo(3.08m));

            Assert.IsFalse(o.IsDirty);

            TypeAccessor <Object1> .Instance["ID"].SetValue(o, 1);

            Assert.AreEqual(1, o.ID);
            Assert.IsTrue(o.IsDirty);
            Assert.IsTrue(o.IsDirtyMember("ID"));
            o.AcceptChanges();
            Assert.IsFalse(o.IsDirty);

            o.Field16 = DayOfWeek.Saturday;

            Assert.AreEqual(DayOfWeek.Saturday, o.Field16);
            Assert.IsTrue(o.IsDirty);
            Assert.IsTrue(o.IsDirtyMember("Field16"));
            o.AcceptChanges();
            Assert.IsFalse(o.IsDirty);

            o.Field17 = 5;

            Assert.AreEqual(5, o.Field17);
            Assert.IsTrue(o.IsDirty);
            Assert.IsTrue(o.IsDirtyMember("Field17"));
            o.AcceptChanges();
            Assert.IsFalse(o.IsDirty);

            o.XmlField.LoadXml(@"<root><element attribute=""value""/></root>");
            Assert.IsTrue(o.IsDirty);
            o.AcceptChanges();

            o.XmlField.SelectSingleNode("/root/element/@attribute").Value = "changed";
            Assert.IsTrue(o.IsDirty);
            Assert.IsTrue(o.IsDirtyMember("XmlField"));
            o.AcceptChanges();
            Assert.IsFalse(o.IsDirty);

            o.XmlField.SelectSingleNode("/root/element/@attribute").Value = "once again";
            o.XmlField = new XmlDocument();
            Assert.IsTrue(o.IsDirty);
        }
Ejemplo n.º 2
0
        public void IsDirtyTest()
        {
            Object1 o = Object1.CreateInstance();

            o.Field1 = 10;
            o.Field2 = !o.Field2;
            o.Field3 = DateTime.Now;
            o.AcceptChanges();

            Object1 c = (Object1)((ICloneable)o).Clone();

            Assert.IsFalse(o.IsDirty);
            Assert.IsFalse(c.IsDirty);

            o.Field1 = 100;
            c        = (Object1)((ICloneable)o).Clone();

            Assert.IsTrue(o.IsDirty);
            Assert.IsTrue(c.IsDirty);

            Assert.IsTrue(o.IsDirtyMember("Field1"));
            Assert.IsTrue(c.IsDirtyMember("Field1"));

            Assert.IsFalse(o.IsDirtyMember("Field2"));
            Assert.IsFalse(c.IsDirtyMember("Field2"));
        }