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);
+		}
+	}
+}