コード例 #1
0
        public void Execute_ResultAlreadySet_NoInstanceCreated()
        {
            //Assign
            var task = new WindsorConstruction();


            var resolver = DependencyResolver.CreateStandardResolver();

            resolver.Container.Register(
                Component.For <Mapper.Config>().Instance(new Mapper.Config())
                );
            var context = Context.Create(resolver);

            var typeConfig = Substitute.For <AbstractTypeConfiguration>();

            typeConfig.Type = typeof(StubClass);

            var args   = new ObjectConstructionArgs(context, null, typeConfig, null);
            var result = new StubClass2();

            args.Result = result;

            Assert.IsNotNull(args.Result);

            //Act
            task.Execute(args);

            //Assert
            Assert.IsNotNull(args.Result);
            Assert.IsTrue(args.Result is StubClass2);
            Assert.AreEqual(result, args.Result);
        }
コード例 #2
0
        public void Execute_RequestInstanceOfClass_ReturnsInstance()
        {
            //Assign
            var task = new WindsorConstruction();

            var resolver = DependencyResolver.CreateStandardResolver();

            resolver.Container.Register(
                Component.For <Mapper.Config>().Instance(new Mapper.Config())
                );
            var context = Context.Create(resolver);

            var typeConfig = Substitute.For <AbstractTypeConfiguration>();

            typeConfig.Type = typeof(StubClass);

            var typeCreationContext = Substitute.For <AbstractTypeCreationContext>();
            var service             = Substitute.For <AbstractService>();

            var args = new ObjectConstructionArgs(context, typeCreationContext, typeConfig, service);

            Assert.IsNull(args.Result);

            //Act
            task.Execute(args);

            //Assert
            Assert.IsNotNull(args.Result);
            Assert.IsTrue(args.Result is StubClass);
        }
コード例 #3
0
        public void Execute_RequestInstanceOfClassWithParameters_NoInstanceReturnedDoesntHandle()
        {
            //Assign
            var task = new WindsorConstruction();


            var context    = Context.Create(DependencyResolver.CreateStandardResolver());
            var typeConfig = Substitute.For <AbstractTypeConfiguration>();

            typeConfig.Type = typeof(StubClassWithParameters);

            string param1 = "test param1";
            int    param2 = 450;
            double param3 = 489;
            string param4 = "param4 test";

            var typeCreationContext = Substitute.For <AbstractTypeCreationContext>();

            typeCreationContext.ConstructorParameters = new object[] { param1, param2, param3, param4 };


            var args = new ObjectConstructionArgs(context, typeCreationContext, typeConfig, null);

            Assert.IsNull(args.Result);

            //Act
            task.Execute(args);

            //Assert
            Assert.IsNull(args.Result);
        }
コード例 #4
0
        public void Execute_RequestInstanceOfInterface_ReturnsNullInterfaceNotSupported()
        {
            //Assign
            var task = new WindsorConstruction();


            var context    = Context.Create(DependencyResolver.CreateStandardResolver());
            var typeConfig = Substitute.For <AbstractTypeConfiguration>();

            typeConfig.Type = typeof(StubInterface);

            var typeCreationContext = Substitute.For <AbstractTypeCreationContext>();

            var args = new ObjectConstructionArgs(context, typeCreationContext, typeConfig, null);



            Assert.IsNull(args.Result);

            //Act
            task.Execute(args);

            //Assert
            Assert.IsNull(args.Result);
        }
コード例 #5
0
        public void Execute_RequestInstanceOfClassWithService_ReturnsInstanceWithService()
        {
            //Assign
            var task = new WindsorConstruction();

            var resolver = DependencyResolver.CreateStandardResolver() as DependencyResolver;
            var context  = Context.Create(resolver);
            var service  = Substitute.For <AbstractService>();

            resolver.Container.Register(
                Component.For <StubServiceInterface>().ImplementedBy <StubService>().LifestyleTransient()
                );

            var typeConfig = Substitute.For <AbstractTypeConfiguration>();

            typeConfig.Type = typeof(StubClassWithService);

            var typeCreationContext = Substitute.For <AbstractTypeCreationContext>();


            var args = new ObjectConstructionArgs(context, typeCreationContext, typeConfig, service);

            Assert.IsNull(args.Result);

            //Act
            task.Execute(args);

            //Assert
            Assert.IsNotNull(args.Result);
            Assert.IsTrue(args.Result is StubClassWithService);

            var stub = args.Result as StubClassWithService;

            Assert.IsNotNull(stub.Service);
            Assert.IsTrue(stub.Service is StubService);
        }