Exemplo n.º 1
0
 /// <summary>
 /// Configures the auto-generated types to populate the properties based on the configured container. If a type is explicitly registered, then the properties will not be automatically satisfied.
 /// </summary>
 /// <param name="builder">A <see cref="AutoSubstituteBuilder"/></param>
 /// <returns>The supplied <see cref="AutoSubstituteBuilder"/></returns>
 public static AutoSubstituteBuilder InjectProperties(this AutoSubstituteBuilder builder)
 => builder.ConfigureOptions(options =>
 {
     options.AutoInjectProperties = true;
     options.MockHandlers.Add(AutoPropertyInjectorMockHandler.Instance);
     options.ConfigureAnyConcreteTypeRegistration.Add(r => r.PropertiesAutowired());
 });
 /// <summary>
 /// Creates a new instance that allows linking to the previous instance for derived builders.
 /// </summary>
 /// <param name="other">A <see cref="AutoSubstituteBuilder"/> that should be connected to this instance</param>
 private protected AutoSubstituteBuilder(AutoSubstituteBuilder other)
 {
     _substituteForRegistrations = other._substituteForRegistrations;
     _afterBuildActions          = other._afterBuildActions;
     _builder = other._builder;
     _options = other._options;
 }
Exemplo n.º 3
0
 internal SubstituteForBuilder(
     AutoSubstituteBuilder builder,
     IRegistrationBuilder <TService, SimpleActivatorData, SingleRegistrationStyle> registration,
     bool isSubstituteFor)
     : base(builder)
 {
     _registration   = registration;
     IsSubstituteFor = isSubstituteFor;
 }
        public static SubstituteForBuilder2 <T> SubstituteFor2 <T>(this AutoSubstituteBuilder builder)
            where T : class
        {
            builder.ConfigureBuilder(b =>
            {
                b.Register(_ => Substitute.For <T>())
                .As <T>()
                .InstancePerLifetimeScope();
            });

            return(new SubstituteForBuilder2 <T>(builder));
        }
 internal SubstituteForBuilder2(AutoSubstituteBuilder builder)
 {
     _builder = builder;
 }
Exemplo n.º 6
0
 /// <summary>
 /// Configures the auto-generated types Autofac creates to search through internal constructors as well. If a type is explicitly registered, it will not search for internal constructors automatically.
 /// </summary>
 /// <param name="builder">A <see cref="AutoSubstituteBuilder"/></param>
 /// <returns>The supplied <see cref="AutoSubstituteBuilder"/></returns>
 public static AutoSubstituteBuilder UnregisteredTypesUseInternalConstructor(this AutoSubstituteBuilder builder)
 => builder.ConfigureOptions(options =>
 {
     options.ConfigureAnyConcreteTypeRegistration.Add(registration => registration.FindConstructorsWith(NonPublicConstructorFinder.Finder));
 });
Exemplo n.º 7
0
 /// <summary>
 /// Configures the auto-generated types Autofac creates to be the same throughout a lifetime scope.
 /// </summary>
 /// <param name="builder">A <see cref="AutoSubstituteBuilder"/></param>
 /// <returns>The supplied <see cref="AutoSubstituteBuilder"/></returns>
 public static AutoSubstituteBuilder MakeUnregisteredTypesPerLifetime(this AutoSubstituteBuilder builder)
 => builder.ConfigureOptions(options =>
 {
     options.ConfigureAnyConcreteTypeRegistration.Add(registration => registration.InstancePerLifetimeScope());
 });