public void WhenParameterlessConstructorIsInvoked_ThenFixtureAndAttributeProviderAreCreated() { // Arrange // Act var attribute = new AutoNSubstituteDataAttribute(); // Assert attribute.Fixture.Should().NotBeNull(); attribute.Provider.Should().NotBeNull(); attribute.IgnoreVirtualMembers.Should().BeFalse(); }
public void GivenExistingFixtureAndAttributeProvider_WhenConstructorIsInvoked_ThenHasSpecifiedFixtureAndAttributeProvider(Fixture fixture) { // Arrange var provider = new Mock <IAutoFixtureAttributeProvider>().Object; // Act var attribute = new AutoNSubstituteDataAttribute(fixture, provider); // Assert attribute.Fixture.Should().Be(fixture); attribute.Provider.Should().Be(provider); attribute.IgnoreVirtualMembers.Should().BeFalse(); }
public void WhenGetDataIsInvoked_ThenFixtureIsConfiguredAndDataReturned(bool ignoreVirtualMembers) { // Arrange var data = new[] { new object[] { 1, 2, 3 }, new object[] { 4, 5, 6 }, new object[] { 7, 8, 9 } }; var fixture = new Mock <IFixture>(); var customizations = new List <ICustomization>(); fixture.Setup(x => x.Customize(It.IsAny <ICustomization>())).Callback <ICustomization>(customization => customizations.Add(customization)); var dataAttribute = new Mock <DataAttribute>(); dataAttribute.Setup(a => a.GetData(It.IsAny <MethodInfo>())).Returns(data); var provider = new Mock <IAutoFixtureAttributeProvider>(); provider.Setup(p => p.GetAttribute(It.IsAny <IFixture>())).Returns(dataAttribute.Object); var attribute = new AutoNSubstituteDataAttribute(fixture.Object, provider.Object) { IgnoreVirtualMembers = ignoreVirtualMembers }; var methodInfo = typeof(AutoNSubstituteDataAttributeTests).GetMethod("TestMethod"); // Act var result = attribute.GetData(methodInfo); // Assert result.Should().BeSameAs(data); provider.VerifyAll(); dataAttribute.VerifyAll(); customizations[0].Should().BeOfType <AutoNSubstituteDataCustomization>(); customizations[1].Should().BeOfType <IgnoreVirtualMembersCustomization>(); ((IgnoreVirtualMembersCustomization)customizations[1]).IgnoreVirtualMembers.Should().Be(ignoreVirtualMembers); }