public void VerifyNullMethodInfoThrows() { // Arrange var dummyComposer = new Fixture(); var sut = new CopyAndUpdateAssertion(dummyComposer); // Act & Assert Assert.Throws <ArgumentNullException>(() => sut.Verify((MethodInfo)null)); }
public void SutIsIdiomaticAssertion() { // Arrange var dummyComposer = new Fixture(); // Act var sut = new CopyAndUpdateAssertion(dummyComposer); // Assert Assert.IsAssignableFrom <IdiomaticAssertion>(sut); }
public void ComposerIsCorrect() { // Arrange var expectedComposer = new Fixture(); var sut = new CopyAndUpdateAssertion(expectedComposer); // Act ISpecimenBuilder result = sut.Builder; // Assert Assert.Equal(expectedComposer, result); }
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 SutIsIdiomaticAssertion() { // Fixture setup var dummyComposer = new Fixture(); // Exercise system var sut = new CopyAndUpdateAssertion(dummyComposer); // Verify outcome Assert.IsAssignableFrom <IdiomaticAssertion>(sut); // Teardown }
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 ComparerIsCorrect() { // Arrange var dummyComposer = new Fixture(); IEqualityComparer expected = new MemberInfoEqualityComparer(); var sut = new CopyAndUpdateAssertion(dummyComposer, expected); // Act IEqualityComparer actual = sut.Comparer; // Assert Assert.Equal(expected, actual); }
public void ComposerIsCorrect() { // Fixture setup var expectedComposer = new Fixture(); var sut = new CopyAndUpdateAssertion(expectedComposer); // Exercise system ISpecimenBuilder result = sut.Builder; // Verify outcome Assert.Equal(expectedComposer, result); // 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 ComparerIsCorrect() { // Fixture setup var dummyComposer = new Fixture(); IEqualityComparer expected = new MemberInfoEqualityComparer(); var sut = new CopyAndUpdateAssertion(dummyComposer, expected); // Exercise system IEqualityComparer actual = sut.Comparer; // Verify outcome Assert.Equal(expected, actual); // 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); }