public void CustomizeWithoutSpecimenValueAddsCustomizationToFixture() { var fixture = new Fixture(); var fixtureMock = new Mock <IFixture>(); var customizationsMock = new Mock <IList <ISpecimenBuilder> >(); var declaringType = typeof(ParameterCustomizationTests); var parameterName = fixture.Create <string>(); var sut = new SutAlias(declaringType, parameterName); fixtureMock.SetupGet(f => f.Customizations).Returns(customizationsMock.Object); sut.Customize(fixtureMock.Object); customizationsMock.Verify( c => c.Add(It.Is <ParameterSpecimenBuilder>(p => p.DeclaringType == declaringType && p.ParameterName == parameterName && p.SpecimenValue == null)), Times.Once()); }
/// <summary> /// Gets a customization that applies a known value to the specified parameter. /// </summary> /// <param name="parameter">The parameter that the known value will be applied to.</param> /// <returns>The customization that will apply a known value to a parameter.</returns> /// <exception cref="ArgumentNullException"><paramref name="parameter"/> is /// <see langword="null"/>.</exception> public override ICustomization GetCustomization(ParameterInfo parameter) { ParameterValidation.IsNotNull(parameter, nameof(parameter)); ICustomization customization; if (this.SpecimenValue == null) { customization = new ParameterCustomization( parameter.ParameterType, this.ParameterName); } else { customization = new ParameterCustomization( parameter.ParameterType, this.ParameterName, this.SpecimenValue); } return(customization); }