public TypeWithCtorWithOneSimpleAndOneDependencyParam( int param0, TypeWithCtorWithOneDependencyParam typeWithCtorWithOneDependencyParam) { Param0 = param0; TypeWithCtorWithOneDependencyParam = typeWithCtorWithOneDependencyParam; }
public TypeWithCtorWithTwoDependencyParams( TypeWithParameterlessCtor typeWithParameterlessCtor, TypeWithCtorWithOneDependencyParam typeWithCtorWithOneDependencyParam) { TypeWithParameterlessCtor = typeWithParameterlessCtor; TypeWithCtorWithOneDependencyParam = typeWithCtorWithOneDependencyParam; }
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); }
public TypeWithCtorWithTwoDependencyParamsOfSameType( TypeWithParameterlessCtor typeWithParameterlessCtor, TypeWithCtorWithOneDependencyParam typeWithCtorWithOneDependencyParam0, TypeWithCtorWithOneDependencyParam typeWithCtorWithOneDependencyParam1) { TypeWithParameterlessCtor = typeWithParameterlessCtor; TypeWithCtorWithOneDependencyParam0 = typeWithCtorWithOneDependencyParam0; TypeWithCtorWithOneDependencyParam1 = typeWithCtorWithOneDependencyParam1; }
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)); }