public void WhenConstructorIsInvoked_ThenHasSharedFixture(Fixture fixture) { // Arrange // Act var attribute = new MemberAutoMoqDataAttribute(fixture.Create <string>()); // Assert attribute.Fixture.Should().NotBeNull(); attribute.IgnoreVirtualMembers.Should().BeFalse(); attribute.ShareFixture.Should().BeTrue(); }
public void GivenIgnoreVirtualMembers_WhenGetDataIsInvoked_ThenFixtureIsCustomizedCorrectly(bool ignoreVirtualMembers) { // Arrange 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 attribute = new MemberAutoMoqDataAttribute(fixture.Object, "TestData") { IgnoreVirtualMembers = ignoreVirtualMembers }; var methodInfo = typeof(MemberAutoMoqDataAttributeTests).GetMethod("TestMethod"); // Act attribute.GetData(methodInfo); // Assert customizations[0].Should().BeOfType <AutoMoqDataCustomization>(); customizations[1].Should().BeOfType <IgnoreVirtualMembersCustomization>(); ((IgnoreVirtualMembersCustomization)customizations[1]).IgnoreVirtualMembers.Should().Be(ignoreVirtualMembers); }
public void GivenExistingMemberName_WhenGetDataIsInvoked_ThenAppropriateDataIsReturned() { // Arrange var attribute = new MemberAutoMoqDataAttribute("TestData"); var methodInfo = typeof(MemberAutoMoqDataAttributeTests).GetMethod("TestMethod"); var numberOfParameters = methodInfo.GetParameters().Length; // Act var data = attribute.GetData(methodInfo).ToList(); // Assert data.Should().HaveSameCount(TestData); for (var i = data.Count - 1; i >= 0; i--) { var source = TestData.ElementAt(i); var result = data.ElementAt(i); result.Should().HaveCount(numberOfParameters); result.Should().ContainInOrder(source); result[numberOfParameters - 1].GetType().Name.Should().StartWith("ObjectProxy", "that way we know it was mocked with MOQ."); } }