Example #1
0
        public void Externally_owned_container_should_not_be_disposed()
        {
            var fakeContainer = new FakeContainer();

            var container = new UnityObjectBuilder(fakeContainer, false);

            container.Dispose();

            Assert.False(fakeContainer.Disposed);
        }
Example #2
0
        public void Named_instances_are_not_resolvable_via_Build()
        {
            var container = new UnityContainer();

            container.RegisterType <ISomeInterface, NamedService1>("1");

            var builder = new UnityObjectBuilder(container);

            Assert.Throws <ArgumentException>(() => builder.Build(typeof(ISomeInterface)));
        }
Example #3
0
        public void Owned_container_should_be_disposed()
        {
            var fakeContainer = new FakeContainer();

            var container = new UnityObjectBuilder(fakeContainer, true);

            container.Dispose();

            Assert.True(fakeContainer.Disposed);
        }
    public void ShouldResolveInterfaces()
    {
        var builder = new UnityObjectBuilder();


        builder.Configure(typeof(SomeClass), DependencyLifecycle.InstancePerCall);


        var result = builder.Build(typeof(ISomeInterface));

        Assert.IsInstanceOf <SomeClass>(result);
    }
Example #5
0
        public void Concrete_classes_registered_in_plain_container_are_resolvable_via_builder()
        {
            var container = new UnityContainer();

            container.RegisterType <SomeClass>();

            var builder = new UnityObjectBuilder(container);

            var result = builder.Build(typeof(SomeClass));

            Assert.IsInstanceOf <SomeClass>(result);
        }
Example #6
0
        public void Interfaces_registered_in_the_container_after_wrapping_it_with_ObjectBuilder_are_resolvable_via_builder()
        {
            var container = new UnityContainer();

            var builder = new UnityObjectBuilder(container);

            container.RegisterType <ISomeInterface, SomeClass>();

            var result = builder.Build(typeof(ISomeInterface));

            Assert.IsInstanceOf <SomeClass>(result);
        }
    public void ShouldResolveAllInterfaces()
    {
        var builder = new UnityObjectBuilder();


        builder.Configure(typeof(First), DependencyLifecycle.InstancePerCall);

        builder.Configure(typeof(Second), DependencyLifecycle.InstancePerCall);

        var result = builder.BuildAll(typeof(ISomeInterface));

        Assert.AreEqual(2, result.Count());
    }
Example #8
0
        public void Existing_registrations_are_not_registered_twice()
        {
            var container = new UnityContainer();

            container.RegisterType <ISomeInterface, NamedService1>("1");
            container.RegisterType <ISomeInterface, NamedService2>("2");
            container.RegisterType <ISomeInterface, NamedService3>("3");

            var builder = new UnityObjectBuilder(container);

            var result = builder.BuildAll(typeof(ISomeInterface));

            Assert.AreEqual(3, result.Count());
        }
Example #9
0
        public void Existing_instances_registred_in_the_container_can_be_injected_via_constructor()
        {
            var container = new UnityContainer();

            var builder = new UnityObjectBuilder(container);

            builder.Configure(typeof(ConstructorInjectionHandler), DependencyLifecycle.InstancePerCall);

            container.RegisterInstance <ISomeInterface>(new SomeClass());

            var result = (ConstructorInjectionHandler)builder.Build(typeof(ConstructorInjectionHandler));

            Assert.IsNotNull(result.Dependency);
        }
        public void It_should_be_created_as_a_single_instance()
        {
            var conainer = new UnityContainer();

            conainer.RegisterType <Root, Root>();
            conainer.RegisterType <ServiceA, ServiceA>(new PerResolveLifetimeManager());
            conainer.RegisterType <ServiceB, ServiceB>();

            using (var builder = new UnityObjectBuilder(conainer))
            {
                var root = (Root)builder.Build(typeof(Root));

                Assert.AreSame(root.ServiceA, root.ServiceB.ServiceA);
            }
        }