コード例 #1
0
ファイル: TestClone.cs プロジェクト: rotanov/Yuzu
 public void TestBasic()
 {
     TestGen(cl => {
         var src = new Sample1 {
             X = 9, Y = "qwe"
         };
         var dst = (Sample1)cl.DeepObject(src);
         Assert.AreNotEqual(src, dst);
         Assert.AreEqual(src.X, dst.X);
         Assert.AreEqual(src.Y, dst.Y);
     });
     TestGen(cl => {
         var src = new Sample2 {
             X = 19, Y = "qwe"
         };
         var dst = cl.Deep(src);
         Assert.AreNotEqual(src, dst);
         Assert.AreEqual(src.X, dst.X);
         Assert.AreEqual(src.Y, dst.Y);
     });
     TestGen(cl => {
         var src = new Sample3 {
             S1 = new Sample1 {
                 X = 19, Y = "qwe"
             }
         };
         var dst = cl.Deep(src);
         Assert.AreNotEqual(src, dst);
         Assert.AreNotEqual(src.S1, dst.S1);
         Assert.AreEqual(src.S1.X, dst.S1.X);
         Assert.AreEqual(src.S1.Y, dst.S1.Y);
     });
     TestGen(cl => {
         var src = new SampleGenNoGen {
             NG = new SampleNoGen {
                 Z = 11
             }
         };
         var dst = cl.Deep(src);
         Assert.AreNotEqual(src, dst);
         Assert.AreNotEqual(src.NG, dst.NG);
         Assert.AreEqual(src.NG.Z, dst.NG.Z);
     });
 }
コード例 #2
0
ファイル: Main.cs プロジェクト: rotanov/Yuzu
        public void TestDictObjObjects()
        {
            var src = new Sample3 {
                F = 7, S1 = new Sample1 {
                    X = 3
                }, S2 = null
            };
            var d = DictOfObjects.Pack(src);

            Assert.AreEqual(3, d.Count);
            Assert.AreEqual(src.F, d["F"]);
            Assert.AreEqual(src.S1, d["S1"]);
            Assert.AreEqual(src.S2, d["S2"]);
            var dst = DictOfObjects.Unpack <Sample3>(d);

            Assert.AreEqual(src.F, dst.F);
            Assert.AreEqual(src.S1, dst.S1);
            Assert.AreEqual(src.S2, dst.S2);
        }