示例#1
0
        public void TestMethod3()
        {
            var config = new DiConfig();

            config.AddFabricGenerator <Cat>();
            config.AddGenerator <Dog>(new Single(() => new Dog()));
            config.AddSingleGenerator <Man>();

            var provider = new DiProvider(config);
            var man      = provider.Inject <Man>();

            Assert.AreEqual(2, man.Pets.Count());
        }
示例#2
0
        public void TestMethod4()
        {
            var config = new DiConfig();

            config.AddGenerator <Color>(new Single(() => Color.WHITE));
            config.AddSingleGenerator <Fence>();

            var provider = new DiProvider(config);
            var fence    = provider.Inject <Fence>();

            Assert.AreEqual(Color.WHITE, fence.Color);

            fence.Color = Color.GREEN;

            var secondFenceInstance = provider.Inject <Fence>();

            Assert.AreEqual(Color.GREEN, secondFenceInstance.Color);
        }