public void CreateReturnsNoSpecimenWhenRequestIsNull() { // Arrange var sut = new SubstituteAttributeRelay(); var context = Substitute.For <ISpecimenContext>(); // Act object specimen = sut.Create(null, context); // Assert var expected = new NoSpecimen(); Assert.Equal(expected, specimen); }
public void CreateReturnsNoSpecimenWhenRequestIsNull() { // Fixture setup var sut = new SubstituteAttributeRelay(); var context = Substitute.For<ISpecimenContext>(); // Exercise system object specimen = sut.Create(null, context); // Verify outcome var expected = new NoSpecimen(null); Assert.Equal(expected, specimen); // Teardown }
public void CreateReturnsNoSpecimenWhenRequestIsNull() { // Fixture setup var sut = new SubstituteAttributeRelay(); var context = Substitute.For <ISpecimenContext>(); // Exercise system object specimen = sut.Create(null, context); // Verify outcome var expected = new NoSpecimen(); Assert.Equal(expected, specimen); // Teardown }
public void CreateReturnsNoSpecimenWhenICustomAttributeProviderDoesNotReturnExpectedAttributeType() { // Fixture setup var sut = new SubstituteAttributeRelay(); var request = Substitute.For<ICustomAttributeProvider>(); request.GetCustomAttributes(Arg.Any<Type>(), Arg.Any<bool>()).Returns(new object[0]); var context = Substitute.For<ISpecimenContext>(); // Exercise system object specimen = sut.Create(request, context); // Verify outcome var expected = new NoSpecimen(request); Assert.Equal(expected, specimen); // Teardown }
public void CreateReturnsNoSpecimenWhenRequestIsNotICustomAttributeProvider() { // Fixture setup var sut = new SubstituteAttributeRelay(); var request = new object(); var context = Substitute.For<ISpecimenContext>(); // Exercise system object specimen = sut.Create(request, context); // Verify outcome #pragma warning disable 618 var expected = new NoSpecimen(request); #pragma warning restore 618 Assert.Equal(expected, specimen); // Teardown }
public void CreateReturnsNoSpecimenWhenICustomAttributeProviderDoesNotReturnExpectedAttributeType() { // Arrange var sut = new SubstituteAttributeRelay(); var request = Substitute.For <ICustomAttributeProvider>(); request.GetCustomAttributes(Arg.Any <Type>(), Arg.Any <bool>()).Returns(new object[0]); var context = Substitute.For <ISpecimenContext>(); // Act object specimen = sut.Create(request, context); // Assert var expected = new NoSpecimen(); Assert.Equal(expected, specimen); }
public void CreateResolvesSubstituteRequestForParameterWithSubstituteAttribute() { // Fixture setup var sut = new SubstituteAttributeRelay(); var request = Substitute.For<ParameterInfo>(); request.ParameterType.Returns(typeof(IInterface)); request.GetCustomAttributes(typeof(SubstituteAttribute), true).Returns(new[] { new SubstituteAttribute() }); var expectedSpecimen = new object(); var context = Substitute.For<ISpecimenContext>(); context.Resolve(Arg.Is<SubstituteRequest>(r => r.TargetType == request.ParameterType)).Returns(expectedSpecimen); // Exercise system object actualSpecimen = sut.Create(request, context); // Verify outcome Assert.Same(expectedSpecimen, actualSpecimen); // Teardown }
public void CreateReturnsNoSpecimenWhenICustomAttributeProviderDoesNotReturnExpectedAttributeType() { // Fixture setup var sut = new SubstituteAttributeRelay(); var request = Substitute.For <ICustomAttributeProvider>(); request.GetCustomAttributes(Arg.Any <Type>(), Arg.Any <bool>()).Returns(new object[0]); var context = Substitute.For <ISpecimenContext>(); // Exercise system object specimen = sut.Create(request, context); // Verify outcome var expected = new NoSpecimen(); Assert.Equal(expected, specimen); // Teardown }
public void CreateReturnsNoSpecimenWhenRequestIsNotICustomAttributeProvider() { // Fixture setup var sut = new SubstituteAttributeRelay(); var request = new object(); var context = Substitute.For <ISpecimenContext>(); // Exercise system object specimen = sut.Create(request, context); // Verify outcome #pragma warning disable 618 var expected = new NoSpecimen(request); #pragma warning restore 618 Assert.Equal(expected, specimen); // Teardown }
public void CreateRelayedRequestThrowsNotSupportedExceptionWhenAttributeIsAppliedToUnexpectedCodeElement() { // Arrange var sut = new SubstituteAttributeRelay(); var request = Substitute.For <ICustomAttributeProvider>(); var attribute = new SubstituteAttribute(); request.GetCustomAttributes(Arg.Any <Type>(), Arg.Any <bool>()).Returns(new object[] { attribute }); var context = Substitute.For <ISpecimenContext>(); // Act var e = Assert.Throws <NotSupportedException>(() => sut.Create(request, context)); // Assert Assert.Contains(attribute.ToString(), e.Message); Assert.Contains(request.ToString(), e.Message); }
public void CreateRelayedRequestThrowsNotSupportedExceptionWhenAttributeIsAppliedToUnexpectedCodeElement() { // Fixture setup var sut = new SubstituteAttributeRelay(); var request = Substitute.For <EventInfo>(); var attribute = new SubstituteAttribute(); request.GetCustomAttributes(Arg.Any <Type>(), Arg.Any <bool>()).Returns(new[] { attribute }); var context = Substitute.For <ISpecimenContext>(); // Exercise system var e = Assert.Throws <NotSupportedException>(() => sut.Create(request, context)); // Verify outcome Assert.Contains(attribute.ToString(), e.Message); Assert.Contains(request.ToString(), e.Message); // Teardown }
public void CreateResolvesSubstituteRequestForPropertyWithSubstituteAttribute() { // Arrange var sut = new SubstituteAttributeRelay(); var request = Substitute.For <PropertyInfo>(); request.PropertyType.Returns(typeof(IInterface)); request.GetCustomAttributes(typeof(SubstituteAttribute), true).Returns(new[] { new SubstituteAttribute() }); var expectedSpecimen = new object(); var context = Substitute.For <ISpecimenContext>(); context.Resolve(Arg.Is <SubstituteRequest>(r => r.TargetType == request.PropertyType)).Returns(expectedSpecimen); // Act object actualSpecimen = sut.Create(request, context); // Assert Assert.Same(expectedSpecimen, actualSpecimen); }
public void CreateResolvesSubstituteRequestForParameterWithSubstituteAttribute() { // Fixture setup var sut = new SubstituteAttributeRelay(); var request = Substitute.For <ParameterInfo>(); request.ParameterType.Returns(typeof(IInterface)); request.GetCustomAttributes(typeof(SubstituteAttribute), true).Returns(new[] { new SubstituteAttribute() }); var expectedSpecimen = new object(); var context = Substitute.For <ISpecimenContext>(); context.Resolve(Arg.Is <SubstituteRequest>(r => r.TargetType == request.ParameterType)).Returns(expectedSpecimen); // Exercise system object actualSpecimen = sut.Create(request, context); // Verify outcome Assert.Same(expectedSpecimen, actualSpecimen); // Teardown }
public void CreateRelayedRequestThrowsNotSupportedExceptionWhenAttributeIsAppliedToUnexpectedCodeElement() { // Fixture setup var sut = new SubstituteAttributeRelay(); var request = Substitute.For<EventInfo>(); var attribute = new SubstituteAttribute(); request.GetCustomAttributes(Arg.Any<Type>(), Arg.Any<bool>()).Returns(new[] { attribute }); var context = Substitute.For<ISpecimenContext>(); // Exercise system var e = Assert.Throws<NotSupportedException>(() => sut.Create(request, context)); // Verify outcome Assert.Contains(attribute.ToString(), e.Message); Assert.Contains(request.ToString(), e.Message); // Teardown }