Mercurial > pub > bltoolkit
diff HowTo/EditableObjects/AcceptRejectChanges.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HowTo/EditableObjects/AcceptRejectChanges.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,47 @@ +using System; +using NUnit.Framework; +using BLToolkit.EditableObjects; + +namespace HowTo.EditableObjects +{ + [TestFixture] + public class AcceptRejectChanges + { + public /*[a]*/abstract/*[/a]*/ class TestObject : /*[a]*/EditableObject/*[/a]*/<TestObject> + { + public /*[a]*/abstract/*[/a]*/ string FirstName { get; set; } + public /*[a]*/abstract/*[/a]*/ string LastName { get; set; } + } + + [Test] + public void Test() + { + // Create an instance. + // + TestObject obj = TestObject./*[a]*/CreateInstance/*[/a]*/(); + + // Accept changes. + // + obj.FirstName = "Tester"; + obj.LastName = "Testerson"; + + Assert.IsTrue(obj.IsDirty); + + obj./*[a]*/AcceptChanges/*[/a]*/(); + + Assert.AreEqual("Tester", obj.FirstName); + Assert.IsFalse(obj.IsDirty); + + // Reject changes. + // + obj.FirstName = "Developer"; + + Assert.IsTrue(obj.IsDirty); + + obj./*[a]*/RejectChanges/*[/a]*/(); + + Assert.AreEqual("Tester", obj.FirstName); + Assert.IsFalse(obj.IsDirty); + } + } +}