Пример #1
0
        public void TestPopulate_WithCustomContainer()
        {
            Scope scope = new Scope();

            IUnityContainer container = new UnityContainer();

            IUnityContainer result = new UnityContainerPopulator(scope.GetAppDomain()).Populate(container);

            AreSame(container, result);
        }
Пример #2
0
        public void TestPopulate_WithName()
        {
            Scope scope = new Scope();

            scope.AddType(typeof(ClassWithName));

            IUnityContainer container = new UnityContainerPopulator(scope.GetAppDomain()).Populate();

            ClassWithName result = container.Resolve <ClassWithName>("my-type");

            IsNotNull(result);
        }
Пример #3
0
        public void TestPopulate(Type providerType, Type expectedFrom, Type expectedTo, Type expectedInstanceLifetimeManagerType)
        {
            Scope scope = new Scope();

            scope.AddType(providerType);

            IUnityContainer container = new UnityContainerPopulator(scope.GetAppDomain()).Populate();

            IList <IContainerRegistration> result = container.Registrations.ToArray();

            AreEqual(2, result.Count);
            IsUnityContainerRegistration(result[0]);
            IsExpectedRegisteredContainer(result[1], expectedFrom, expectedTo, expectedInstanceLifetimeManagerType);
        }
Пример #4
0
        public void TestPopulate_WithName()
        {
            Scope scope = new Scope();

            scope.AddType(typeof(ProviderWithNamedFactories));

            IUnityContainer container = new UnityContainerPopulator(scope.GetAppDomain()).Populate();

            string val1 = container.Resolve <string>("factory1");
            string val2 = container.Resolve <string>("factory2");

            AreEqual("Foo", val1);
            AreEqual("Bar", val2);
        }
Пример #5
0
        private static void Main(string[] args)
        {
            IUnityContainer container = new UnityContainerPopulator().Populate();

            container.RegisterType <IFileSystem, FileSystem>();

            container.RegisterInstance <IEnvironmentAbstraction>(new EnvironmentAbstraction(Environment.Exit));
            container.RegisterInstance("stdout", Console.Out);
            container.RegisterInstance("stderr", Console.Error);
            container.RegisterInstance(args);

            container.RegisterFactory <IGitHubClient>(GitHubClientFactory);

            Generator generator = container.Resolve <Generator>();

            generator.Run();
        }