Esempio n. 1
0
        public void PropNormal()
        {
            var tempDate = DateTime.Now;
            PropCloneNormalModel model = new PropCloneNormalModel();

            model.Age   = 1000;
            model.Name  = "ababab";
            model.Timer = tempDate;
            model.money = 100000;
            model.Title = false;
            model.Id    = 100000;
            //生成快照
            SnapshotOperator.MakeSnapshot(model);

            //更改model
            model.Age   = 1001;
            model.Name  = "hahaha";
            model.Timer = DateTime.Now;
            model.Title = true;

            //对比快照
            var reuslt = SnapshotOperator.Compare(model);


            Assert.NotEqual(model.Age, (int)(reuslt["Age"].Value));
            Assert.NotEqual(model.Title, (bool)(reuslt["Title"].Value));
            Assert.NotEqual(model.Name, (string)(reuslt["Name"].Value));
            Assert.NotEqual(model.Timer, (DateTime)(reuslt["Timer"].Value));

            Assert.Equal(1000, (int)(reuslt["Age"].Value));
            Assert.False((bool)(reuslt["Title"].Value));
            Assert.Equal("ababab", (string)(reuslt["Name"].Value));
            Assert.Equal(tempDate, (DateTime)(reuslt["Timer"].Value));
        }
Esempio n. 2
0
            public void ReadonlyNormal()
            {
                PropCloneNormalModel model = new PropCloneNormalModel
                {
                    Age   = 1000,
                    Name  = "ababab",
                    Timer = DateTime.Now,
                    money = 100000,

                    Title = false,
                    Id    = 100000
                };

                var newModel = CloneOperator.Clone(model);

                Assert.False(newModel.NoUseCtor);
                Assert.Equal(0, newModel.ReadOnly);
                Assert.Equal(model.ReadOnlyString, newModel.ReadOnlyString);
                Assert.Equal(model.ReadOnlyString1, newModel.ReadOnlyString1);
                Assert.Equal(model.Id, newModel.Id);
                Assert.Equal(model.Title, newModel.Title);
                Assert.Equal(model.money, newModel.money);
                Assert.Equal(model.Timer, newModel.Timer);
                Assert.Equal(model.Age, newModel.Age);
                Assert.Equal(model.Name, newModel.Name);
            }
Esempio n. 3
0
        public void PropNormal()
        {
            PropCloneNormalModel model = new PropCloneNormalModel();

            model.Age   = 1000;
            model.Name  = "ababab";
            model.Timer = DateTime.Now;
            model.money = 100000;

            model.Title = false;
            model.Id    = 100000;

            var newModel = CloneOperator.Clone(model);

            Assert.Equal(model.Id, newModel.Id);
            Assert.Equal(model.Title, newModel.Title);
            Assert.Equal(model.money, newModel.money);
            Assert.Equal(model.Timer, newModel.Timer);
            Assert.Equal(model.Age, newModel.Age);
            Assert.Equal(model.Name, newModel.Name);
        }
Esempio n. 4
0
        public void PropNormal()
        {
            PropCloneNormalModel model = new PropCloneNormalModel();

            model.Age   = 1000;
            model.Name  = "ababab";
            model.Timer = DateTime.Now;
            model.money = 100000;

            model.Title = false;
            model.Id    = 100000;


            CloneBuilder <PropCloneNormalModel> .CreateCloneDelegate();

            var newModel = DeepClone <PropCloneNormalModel> .Clone(model);

            Assert.Equal(model.Id, newModel.Id);
            Assert.Equal(model.Title, newModel.Title);
            Assert.Equal(model.money, newModel.money);
            Assert.Equal(model.Timer, newModel.Timer);
            Assert.Equal(model.Age, newModel.Age);
            Assert.Equal(model.Name, newModel.Name);
        }