コード例 #1
0
        public void Restore_With_List()
        {
            var myItem = new MyItemRestore {
                MyStrings = new List <string> {
                    "A", "B"
                }, MyArrayOfStrings = new string[] { "Y", "Z" }, MyIStrings = new List <string> {
                    "M", "N"
                }
            };
            var editor = new ObjectEditor();

            Assert.AreEqual(false, editor.CanRestore);
            editor.Store(myItem);
            Assert.AreEqual(true, editor.CanRestore);

            myItem.MyStrings.Add("C");
            myItem.MyIStrings.Add("O");
            myItem.MyArrayOfStrings = new string[] { "X" };

            editor.Restore();

            Assert.AreEqual(2, myItem.MyStrings.Count);
            Assert.AreEqual("A", myItem.MyStrings[0]);
            Assert.AreEqual("B", myItem.MyStrings[1]);
            Assert.AreEqual(2, myItem.MyIStrings.Count);
            Assert.AreEqual("M", myItem.MyIStrings[0]);
            Assert.AreEqual("N", myItem.MyIStrings[1]);
            Assert.AreEqual(2, myItem.MyArrayOfStrings.Length);
            Assert.AreEqual("Y", myItem.MyArrayOfStrings[0]);
            Assert.AreEqual("Z", myItem.MyArrayOfStrings[1]);
        }
コード例 #2
0
        public void Restore_Child_Object()
        {
            var editor = new ObjectEditor();

            var item = new MyItemRestoreWithChild {
                Child = new SubChild {
                    MyString = "Original"
                }
            };

            Assert.AreEqual(false, editor.CanRestore);
            editor.Store(item);
            Assert.AreEqual(true, editor.CanRestore);

            item.Child.MyString = "Updated";

            editor.Restore();

            Assert.AreEqual("Original", item.Child.MyString);
        }
コード例 #3
0
        public void TestEditAndRestore()
        {
            var editor = new ObjectEditor();

            var user = new UserEditable
            {
                FirstName = "Marie",
                LastName  = "Bellin"
            };

            Assert.AreEqual(false, editor.CanRestore);
            editor.Store(user);
            Assert.AreEqual(true, editor.CanRestore);

            user.FirstName = "updated firstname";
            user.LastName  = "updated lastname";

            editor.Restore();

            Assert.AreEqual("Marie", user.FirstName);
            Assert.AreEqual("Bellin", user.LastName);
        }
コード例 #4
0
        public void Ignore_Property()
        {
            var editor = new ObjectEditor(new List <string> {
                "FirstName"
            });

            var user = new UserEditable
            {
                FirstName = "Marie",
                LastName  = "Bellin"
            };

            Assert.AreEqual(false, editor.CanRestore);
            editor.Store(user);
            Assert.AreEqual(true, editor.CanRestore);

            user.FirstName = "updated firstname";
            user.LastName  = "updated lastname";

            editor.Restore();

            Assert.AreEqual("updated firstname", user.FirstName);
            Assert.AreEqual("Bellin", user.LastName);
        }