예제 #1
0
        public void CanBuildConcreteTypesThatAreNotPreviouslyRegisteredWithArgumentsProvided()
        {
            IContainer manager =
                new Container(
                    registry => registry.For <IProvider>().Use <Provider>());

            var differentProvider = new DifferentProvider();
            var args = new ExplicitArguments();

            args.Set <IProvider>(differentProvider);

            var classThatUsesProvider = manager.GetInstance <ClassThatUsesProvider>(args);

            Assert.AreSame(differentProvider, classThatUsesProvider.Provider);
        }