public void CanResolveOptionalDependenciesByNameWithAPI()
        {
            IGuineaPig expected = new GuineaPigImpl();

            container.RegisterType <GuineaPig>(
                new InjectionConstructor(new OptionalParameter(typeof(IGuineaPig), "named")))
            .RegisterInstance <IGuineaPig>("named", expected);

            var result = container.Resolve <GuineaPig>();

            Assert.AreSame(expected, result.Pig);
        }
        public void CanResolveOptionalDependencyWhenConfiguredByAPI()
        {
            IGuineaPig mockPig = new GuineaPigImpl();

            container.RegisterType <GuineaPig>(
                new InjectionConstructor(new OptionalParameter <IGuineaPig>()))
            .RegisterInstance <IGuineaPig>(mockPig);

            var result = container.Resolve <GuineaPig>();

            Assert.AreSame(mockPig, result.Pig);
        }
        public void CanConfigureOptionalParameterToInjectionMethod()
        {
            IGuineaPig expected = new GuineaPigImpl();

            container.RegisterType <GuineaPig>(
                new InjectionConstructor(),
                new InjectionMethod("SetPig", new OptionalParameter <IGuineaPig>("named")))
            .RegisterInstance("named", expected);

            var result = container.Resolve <GuineaPig>();

            Assert.AreSame(expected, result.Pig);
        }
        public void CanConfigureOptionalParameterToInjectionMethod()
        {
            IGuineaPig expected = new GuineaPigImpl();

            container.RegisterType<GuineaPig>(
                    new InjectionConstructor(),
                    new InjectionMethod("SetPig", new OptionalParameter<IGuineaPig>("named")))
                .RegisterInstance("named", expected);

            var result = container.Resolve<GuineaPig>();

            Assert.AreSame(expected, result.Pig);
        }
        public void CanResolveOptionalDependenciesByNameWithAPI()
        {
            IGuineaPig expected = new GuineaPigImpl();

            container.RegisterType<GuineaPig>(
                    new InjectionConstructor(new OptionalParameter(typeof(IGuineaPig), "named")))
                .RegisterInstance<IGuineaPig>("named", expected);

            var result = container.Resolve<GuineaPig>();

            Assert.AreSame(expected, result.Pig);
        }
        public void CanResolveOptionalDependencyWhenConfiguredByAPI()
        {
            IGuineaPig mockPig = new GuineaPigImpl();

            container.RegisterType<GuineaPig>(
                    new InjectionConstructor(new OptionalParameter<IGuineaPig>()))
                .RegisterInstance<IGuineaPig>(mockPig);

            var result = container.Resolve<GuineaPig>();

            Assert.AreSame(mockPig, result.Pig);
        }