コード例 #1
0
 public TypeWithCtorWithOneSimpleAndOneDependencyParam(
     int param0,
     TypeWithCtorWithOneDependencyParam typeWithCtorWithOneDependencyParam)
 {
     Param0 = param0;
     TypeWithCtorWithOneDependencyParam = typeWithCtorWithOneDependencyParam;
 }
 public TypeWithCtorWithTwoDependencyParams(
     TypeWithParameterlessCtor typeWithParameterlessCtor,
     TypeWithCtorWithOneDependencyParam typeWithCtorWithOneDependencyParam)
 {
     TypeWithParameterlessCtor          = typeWithParameterlessCtor;
     TypeWithCtorWithOneDependencyParam = typeWithCtorWithOneDependencyParam;
 }
コード例 #3
0
        public void Both_params_are_supplied_through_factory()
        {
            // Arrange
            var container = new ContainerBuilder().AddParameterizedAutoFactoryExtension().Build();
            var typeWithParameterlessCtor          = new TypeWithParameterlessCtor();
            var typeWithCtorWithOneDependencyParam =
                new TypeWithCtorWithOneDependencyParam(
                    new TypeWithParameterlessCtor()
                    );

            // Act
            var create = container.Resolve <Func <
                                                TypeWithParameterlessCtor,
                                                TypeWithCtorWithOneDependencyParam,
                                                TypeWithCtorWithTwoDependencyParams> >();
            var instance = create(
                typeWithParameterlessCtor,
                typeWithCtorWithOneDependencyParam);

            // Assert
            instance.Should().NotBeNull();
            instance.TypeWithParameterlessCtor.Should().BeSameAs(typeWithParameterlessCtor);
            instance.TypeWithCtorWithOneDependencyParam
            .Should()
            .BeSameAs(typeWithCtorWithOneDependencyParam);
        }
コード例 #4
0
 public TypeWithCtorWithTwoDependencyParamsOfSameType(
     TypeWithParameterlessCtor typeWithParameterlessCtor,
     TypeWithCtorWithOneDependencyParam typeWithCtorWithOneDependencyParam0,
     TypeWithCtorWithOneDependencyParam typeWithCtorWithOneDependencyParam1)
 {
     TypeWithParameterlessCtor           = typeWithParameterlessCtor;
     TypeWithCtorWithOneDependencyParam0 = typeWithCtorWithOneDependencyParam0;
     TypeWithCtorWithOneDependencyParam1 = typeWithCtorWithOneDependencyParam1;
 }
コード例 #5
0
        public void One_param_of_that_type_throws()
        {
            // Arrange
            var container = new ContainerBuilder().AddParameterizedAutoFactoryExtension().Build();
            var param0    = new TypeWithCtorWithOneDependencyParam(new TypeWithParameterlessCtor());

            // Act
            var create = container.Resolve <Func <
                                                TypeWithCtorWithOneDependencyParam,
                                                TypeWithCtorWithTwoDependencyParamsOfSameType> >();

            // Assert
            Assert.Throws <ResolutionFailedException>(() => create(param0));
        }