Exemple #1
0
        public void Test()
        {
            var f = new Foo
                        {
                            Name = "o",
                            Fox = new Foo { Name = "a", Fox = new Foo { Name = "b3" } },
                            Foos = new[] { new Foo { Name = "arr1" }, new Foo { Name = "arr2" }, }
                        };
            var f1 = new Foo();

            f1.InjectFrom(f);
            Assert.AreEqual(f1.Fox, f.Fox);

            f1.InjectFrom<CloneInjection>(f);

            Assert.AreNotEqual(f1.Fox, f.Fox);
            Assert.AreNotEqual(f1.Fox.Fox, f.Fox.Fox);
            Assert.AreEqual(f1.Fox.Name, f.Fox.Name);
            Assert.AreEqual(f1.Fox.Fox.Name, f.Fox.Fox.Name);

        }