public void VerifyNullMethodInfoThrows() { // Arrange var dummyComposer = new Fixture(); var sut = new CopyAndUpdateAssertion(dummyComposer); // Act & Assert Assert.Throws <ArgumentNullException>(() => sut.Verify((MethodInfo)null)); }
public void VerifyWellBehavedDoesNotThrow(Type typeWithCopyUpdateMethod, string copyUpdateMethodName) { // Arrange var dummyComposer = new Fixture(); var sut = new CopyAndUpdateAssertion(dummyComposer); var method = typeWithCopyUpdateMethod.GetMethod(copyUpdateMethodName); // Act & Assert Assert.Null(Record.Exception(() => sut.Verify(method))); }
public void VerifyNullMethodInfoThrows() { // Fixture setup var dummyComposer = new Fixture(); var sut = new CopyAndUpdateAssertion(dummyComposer); // Exercise system and verify outcome Assert.Throws <ArgumentNullException>(() => sut.Verify((MethodInfo)null)); // Teardown }
public void VerifyWellBehavedDoesNotThrow(Type typeWithCopyUpdateMethod, string copyUpdateMethodName) { // Fixture setup var dummyComposer = new Fixture(); var sut = new CopyAndUpdateAssertion(dummyComposer); var method = typeWithCopyUpdateMethod.GetMethod(copyUpdateMethodName); // Exercise system and verify outcome Assert.DoesNotThrow(() => sut.Verify(method)); // Teardown }
public void VerifyCopyAndUpdateWhenThePropertyTypeIsAssignableFromTheParameterType() { var fixture = new Fixture(); var customMatcher = new VisitorEqualityComparer <NameAndType>( new NameAndTypeCollectingVisitor(), new NameAndTypeAssignableComparer()); var assertion = new CopyAndUpdateAssertion( fixture, EqualityComparer <object> .Default, customMatcher); var copyAndUpdateMethod = new Methods <PublicPropertiesAreAssignableFromConstructorParameterTypes>() .Select(o => o.WithNumbers(default(int[]))); assertion.Verify(copyAndUpdateMethod); }
public void VerifyIllBehavedWithInvalidMemberValueThrows( Type typeWithCopyUpdateMethod, string copyUpdateMethodName, string expectedMemberNameWithInvalidValue) { // Arrange var dummyComposer = new Fixture(); var sut = new CopyAndUpdateAssertion(dummyComposer); var method = typeWithCopyUpdateMethod.GetMethod(copyUpdateMethodName); var member = typeWithCopyUpdateMethod.GetMember(expectedMemberNameWithInvalidValue).Single(); // Act & Assert var e = Assert.Throws <CopyAndUpdateException>(() => sut.Verify(method)); AssertExceptionPropertiesEqual(e, method, memberWithInvalidValue: member); }
public void VerifyWhenMethodHasNoMatchingPublicMembersThrows( Type copyUpdateMethodType, string methodName, string argumentNameWithNoMatchingPublicMember) { // Arrange var dummyComposer = new Fixture(); var sut = new CopyAndUpdateAssertion(dummyComposer); var method = copyUpdateMethodType.GetMethod(methodName); var parameter = method.GetParameters().Single(p => p.Name == argumentNameWithNoMatchingPublicMember); // Act & Assert var e = Assert.Throws <CopyAndUpdateException>(() => sut.Verify(method)); AssertExceptionPropertiesEqual(e, method, parameter); }