public void CreateThrowsWhenDecoratedBuilderReturnsNoSpecimen() { // Fixture setup var builder = new DelegatingSpecimenBuilder { OnCreate = (r, c) => new NoSpecimen(r) }; var sut = new NoSpecimenOutputGuard(builder); // Exercise system and verify outcome var dummyRequest = new object(); var dummyContext = new DelegatingSpecimenContext(); Assert.Throws<ObjectCreationException>(() => sut.Create(dummyRequest, dummyContext)); // Teardown }
public void CreateDoesNotThrowOnReturnedNoSpecimenWhenSpecificationReturnsFalse() { // Fixture setup var request = new object(); var builder = new DelegatingSpecimenBuilder { OnCreate = (r, c) => new NoSpecimen(r) }; var spec = new DelegatingRequestSpecification { OnIsSatisfiedBy = r => request == r ? false : true }; var sut = new NoSpecimenOutputGuard(builder, spec); // Exercise system var dummyContext = new DelegatingSpecimenContext(); var result = sut.Create(request, dummyContext); // Verify outcome var expectedResult = new NoSpecimen(request); Assert.Equal(expectedResult, result); // Teardown }
public void CreateReturnsCorrectResult() { // Fixture setup var request = new object(); var context = new DelegatingSpecimenContext(); var expectedResult = new object(); var builder = new DelegatingSpecimenBuilder { OnCreate = (r, c) => r == request && c == context ? expectedResult : new NoSpecimen(r) }; var sut = new NoSpecimenOutputGuard(builder); // Exercise system var result = sut.Create(request, context); // Verify outcome Assert.Equal(expectedResult, result); // Teardown }