コード例 #1
0
        public void Test_Resolve_Implementation_Handles_Non_Lazy_Bindings_Correctly()
        {
            IBinding <ISample> binding = new ConstructorBinding <ISample>(() => new Sample());
            LazyConstructorBinding <IHasSample> lazyBinding = new LazyConstructorBinding <IHasSample>(
                new IBinding[0],
                bindings => new HasSample(binding.Resolve()));

            IHasSample sample = lazyBinding.Resolve();

            Assert.IsType <HasSample>(sample);
            Assert.IsType <ConstructorBinding <IHasSample> >(lazyBinding.Constructor);
        }
コード例 #2
0
        public void Test_Resolve_Uses_Given_Constructor_Function()
        {
            Sample        value           = new Sample();
            Func <Sample> constructorFunc = () =>
            {
                return(value);
            };
            ConstructorBinding <ISample> constructor = new ConstructorBinding <ISample>(constructorFunc);

            ISample obj = constructor.Resolve();

            Assert.Same(value, obj);
        }