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