public void ShouldRecognizeAttributesImplementingIParameterCustomizationSource() { // Fixture setup var method = typeof(TypeWithIParameterCustomizationSourceUsage) .GetMethod(nameof(TypeWithIParameterCustomizationSourceUsage.DecoratedMethod)); var parameters = method.GetParameters(); var parameterTypes = parameters.Select(p => p.ParameterType).ToArray(); var customizationLog = new List <ICustomization>(); var fixture = new DelegatingFixture(); fixture.OnCustomize = c => { customizationLog.Add(c); return(fixture); }; var sut = new DerivedAutoDataAttribute(() => fixture); // Exercise system sut.GetData(method, parameterTypes); // Verify outcome Assert.True(customizationLog[0] is TypeWithIParameterCustomizationSourceUsage.Customization); // Teardown }
public void GetDataReturnsCorrectResult() { // Fixture setup var method = typeof(TypeWithOverloadedMembers).GetMethod("DoSomething", new[] { typeof(object) }); var parameters = method.GetParameters(); var parameterTypes = (from pi in parameters select pi.ParameterType).ToArray(); var expectedResult = new object(); var builder = new DelegatingSpecimenBuilder { OnCreate = (r, c) => { Assert.Equal(parameters.Single(), r); Assert.NotNull(c); return(expectedResult); } }; var composer = new DelegatingFixture { OnCreate = builder.OnCreate }; var sut = new DerivedAutoDataAttribute(() => composer); // Exercise system var result = sut.GetData(method, parameterTypes); // Verify outcome Assert.True(new[] { expectedResult }.SequenceEqual(result.Single())); // Teardown }
public void GetDataOrdersCustomizationAttributes(string methodName) { // Fixture setup var method = typeof(TypeWithCustomizationAttributes).GetMethod(methodName, new[] { typeof(ConcreteType) }); var parameters = method.GetParameters(); var parameterTypes = (from pi in parameters select pi.ParameterType).ToArray(); var customizationLog = new List <ICustomization>(); var fixture = new DelegatingFixture(); fixture.OnCustomize = c => { customizationLog.Add(c); return(fixture); }; var sut = new DerivedAutoDataAttribute(() => fixture); // Exercise system sut.GetData(method, parameterTypes); // Verify outcome Assert.False(customizationLog[0] is FreezeOnMatchCustomization); Assert.True(customizationLog[1] is FreezeOnMatchCustomization); // Teardown }
public void InitializedWithComposerHasCorrectComposer() { // Arrange var expectedComposer = new DelegatingFixture(); #pragma warning disable 612 var sut = new DerivedAutoDataAttribute(expectedComposer); #pragma warning restore 612 // Act #pragma warning disable 618 var result = sut.Fixture; #pragma warning restore 618 // Assert Assert.Equal(expectedComposer, result); }
public void InitializedWithComposerHasCorrectComposer() { // Fixture setup var expectedComposer = new DelegatingFixture(); #pragma warning disable 612 var sut = new DerivedAutoDataAttribute(expectedComposer); #pragma warning restore 612 // Exercise system #pragma warning disable 618 var result = sut.Fixture; #pragma warning restore 618 // Verify outcome Assert.Equal(expectedComposer, result); // Teardown }