예제 #1
0
파일: TestClone.cs 프로젝트: rotanov/Yuzu
 public void TestShallow()
 {
     var cl = new Cloner();
     {
         var src = new Sample1 {
             X = 9, Y = "qwe"
         };
         var dst = (Sample1)cl.ShallowObject(src);
         Assert.AreEqual(src.X, dst.X);
         Assert.AreEqual(src.Y, dst.Y);
     }
     {
         var src = new Sample2 {
             X = 19, Y = "qwe"
         };
         var dst = cl.Shallow(src);
         Assert.AreEqual(src.X, dst.X);
         Assert.AreEqual(src.Y, dst.Y);
     }
     {
         var src = new SampleDict {
             Value    = 1,
             Children = new Dictionary <string, SampleDict> {
                 { "a", new SampleDict {
                       Value = 2
                   } }
             }
         };
         var dst = cl.Shallow(src);
         Assert.AreEqual(src.Value, dst.Value);
         Assert.AreEqual(src.Children, dst.Children);
     }
 }
예제 #2
0
파일: Main.cs 프로젝트: rotanov/Yuzu
        public void TestCodeAssignSimple()
        {
            var v1 = new Sample1 {
                X = 150, Y = "test"
            };
            var cs      = new CodeAssignSerializer();
            var result1 = cs.ToString(v1);

            Assert.AreEqual("void Init(Sample1 obj) {\n\tobj.X = 150;\n\tobj.Y = \"test\";\n}\n", result1);

            var v2 = new Sample2 {
                X = 150, Y = "test"
            };
            var result2 = cs.ToString(v2);

            Assert.AreEqual("void Init(Sample2 obj) {\n\tobj.X = 150;\n\tobj.Y = \"test\";\n}\n", result2);
        }
예제 #3
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);
     });
 }
예제 #4
0
파일: TestClone.cs 프로젝트: rotanov/Yuzu
 public void TestSerializeIf()
 {
     TestGen(cl => {
         var src = new Sample2 {
             X = 1, Y = "a"
         };
         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 Sample2 {
             X = 1, Y = "1"
         };
         var dst = cl.Deep(src);
         Assert.AreNotEqual(src, dst);
         Assert.AreEqual(src.X, dst.X);
         Assert.IsNull(dst.Y);
     });
     TestGen(cl => {
         var src = new SampleSerializeIf {
             X = 7, Y = new Sample1 {
                 X = 7
             }
         };
         var dst = cl.Deep(src);
         Assert.AreNotEqual(src, dst);
         Assert.AreEqual(src.X, dst.X);
         Assert.IsNull(dst.Y);
     });
     TestGen(cl => {
         var src = new Sample1 {
             X = 7, Y = "ttt"
         };
         var dst = cl.Deep(src);
         Assert.AreNotEqual(src, dst);
         Assert.AreEqual(src.X, dst.X);
         Assert.AreEqual("zzz", dst.Y);
     });
 }
예제 #5
0
파일: TestClone.cs 프로젝트: rotanov/Yuzu
 public void TestArray()
 {
     TestGen(cl => {
         var src = new int[5] {
             2, 4, 5, 6, 8
         };
         var dst = cl.Deep(src);
         CollectionAssert.AreEqual(src, dst);
     });
     TestGen(cl => {
         var src = new Sample1[] { new Sample1 {
                                       X = 33
                                   } };
         var dst = cl.Deep(src);
         Assert.AreNotEqual(src[0], dst[0]);
         Assert.AreEqual(src[0].X, dst[0].X);
     });
     TestGen(cl => {
         var src = new SampleArray {
             A = null
         };
         var dst = cl.Deep(src);
         Assert.AreNotEqual(src, dst);
         Assert.IsNull(dst.A);
     });
     TestGen(cl => {
         var src = new SampleArrayOfClass {
             A = new Sample1[] { new Sample1 {
                                     X = 33
                                 } }
         };
         var dst = cl.Deep(src);
         Assert.AreNotEqual(src, dst);
         Assert.AreNotEqual(src.A[0], dst.A[0]);
         Assert.AreEqual(src.A[0].X, dst.A[0].X);
     });
 }