public void SutIsNode() { // Arrange var dummyBuilder = new DelegatingSpecimenBuilder(); // Act var sut = new NoSpecimenOutputGuard(dummyBuilder); // Assert Assert.IsAssignableFrom <ISpecimenBuilderNode>(sut); }
public void SutYieldsDecoratedBuilder() { // Arrange var expected = new DelegatingSpecimenBuilder(); // Act var sut = new NoSpecimenOutputGuard(expected); // Assert Assert.True(new[] { expected }.SequenceEqual(sut)); Assert.True(new object[] { expected }.SequenceEqual(((System.Collections.IEnumerable)sut).Cast <object>())); }
public void SpecificationIsCorrectWhenInitializedWithModestCtor() { // Arrange var dummyBuilder = new DelegatingSpecimenBuilder(); var sut = new NoSpecimenOutputGuard(dummyBuilder); // Act IRequestSpecification result = sut.Specification; // Assert Assert.IsAssignableFrom <TrueRequestSpecification>(result); }
public void SutIsNode() { // Fixture setup var dummyBuilder = new DelegatingSpecimenBuilder(); // Exercise system var sut = new NoSpecimenOutputGuard(dummyBuilder); // Verify outcome Assert.IsAssignableFrom <ISpecimenBuilderNode>(sut); // Teardown }
public void BuilderIsCorrectWhenInitializedWithModestCtor() { // Arrange var expectedBuilder = new DelegatingSpecimenBuilder(); var sut = new NoSpecimenOutputGuard(expectedBuilder); // Act ISpecimenBuilder result = sut.Builder; // Assert Assert.Equal(expectedBuilder, result); }
public void SpecificationIsCorrectWhenInitializedWithGreedyCtor() { // Arrange var dummyBuilder = new DelegatingSpecimenBuilder(); var expectedSpec = new DelegatingRequestSpecification(); var sut = new NoSpecimenOutputGuard(dummyBuilder, expectedSpec); // Act var result = sut.Specification; // Assert Assert.Equal(expectedSpec, result); }
public void SpecificationIsCorrectWhenInitializedWithModestCtor() { // Fixture setup var dummyBuilder = new DelegatingSpecimenBuilder(); var sut = new NoSpecimenOutputGuard(dummyBuilder); // Exercise system IRequestSpecification result = sut.Specification; // Verify outcome Assert.IsAssignableFrom <TrueRequestSpecification>(result); // Teardown }
public void SutYieldsDecoratedBuilder() { // Fixture setup var expected = new DelegatingSpecimenBuilder(); // Exercise system var sut = new NoSpecimenOutputGuard(expected); // Verify outcome Assert.True(new[] { expected }.SequenceEqual(sut)); Assert.True(new object[] { expected }.SequenceEqual(((System.Collections.IEnumerable)sut).Cast <object>())); // Teardown }
public void BuilderIsCorrectWhenInitializedWithModestCtor() { // Fixture setup var expectedBuilder = new DelegatingSpecimenBuilder(); var sut = new NoSpecimenOutputGuard(expectedBuilder); // Exercise system ISpecimenBuilder result = sut.Builder; // Verify outcome Assert.Equal(expectedBuilder, result); // Teardown }
public void BuilderIsCorrectWhenInitializedWithGreedyCtor() { // Fixture setup var expectedBuilder = new DelegatingSpecimenBuilder(); var dummySpec = new DelegatingRequestSpecification(); var sut = new NoSpecimenOutputGuard(expectedBuilder, dummySpec); // Exercise system var result = sut.Builder; // Verify outcome Assert.Equal(expectedBuilder, result); // Teardown }
public void ComposePreservesSpecification() { // Arrange var dummyBuilder = new DelegatingSpecimenBuilder(); var expected = new DelegatingRequestSpecification(); var sut = new NoSpecimenOutputGuard(dummyBuilder, expected); // Act var actual = sut.Compose(new ISpecimenBuilder[0]); // Assert var g = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual); Assert.Equal(expected, g.Specification); }
public void ComposeSingleItemReturnsCorrectResult() { // Arrange var dummyBuilder = new DelegatingSpecimenBuilder(); var sut = new NoSpecimenOutputGuard(dummyBuilder); // Act var expected = new DelegatingSpecimenBuilder(); var actual = sut.Compose(new[] { expected }); // Assert var g = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual); Assert.Equal(expected, g.Builder); }
public void ComposePreservesSpecification() { // Fixture setup var dummyBuilder = new DelegatingSpecimenBuilder(); var expected = new DelegatingRequestSpecification(); var sut = new NoSpecimenOutputGuard(dummyBuilder, expected); // Exercise system var actual = sut.Compose(new ISpecimenBuilder[0]); // Verify outcome var g = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual); Assert.Equal(expected, g.Specification); // Teardown }
public void ComposeSingleItemReturnsCorrectResult() { // Fixture setup var dummyBuilder = new DelegatingSpecimenBuilder(); var sut = new NoSpecimenOutputGuard(dummyBuilder); // Exercise system var expected = new DelegatingSpecimenBuilder(); var actual = sut.Compose(new[] { expected }); // Verify outcome var g = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual); Assert.Equal(expected, g.Builder); // Teardown }
public void CreateThrowsWhenDecoratedBuilderReturnsNoSpecimen() { // Arrange var builder = new DelegatingSpecimenBuilder { OnCreate = (r, c) => new NoSpecimen() }; var sut = new NoSpecimenOutputGuard(builder); // Act & assert var dummyRequest = new object(); var dummyContext = new DelegatingSpecimenContext(); Assert.Throws <ObjectCreationException>(() => sut.Create(dummyRequest, dummyContext)); }
public void CreateThrowsWhenDecoratedBuilderReturnsNoSpecimen() { // Fixture setup var builder = new DelegatingSpecimenBuilder { OnCreate = (r, c) => new NoSpecimen() }; 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 CreateReturnsCorrectResult() { // Arrange 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() }; var sut = new NoSpecimenOutputGuard(builder); // Act var result = sut.Create(request, context); // Assert Assert.Equal(expectedResult, result); }
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() }; var sut = new NoSpecimenOutputGuard(builder); // Exercise system var result = sut.Create(request, context); // Verify outcome Assert.Equal(expectedResult, result); // Teardown }
public void ComposeReturnsCorrectResult() { // Arrange var dummyBuilder = new DelegatingSpecimenBuilder(); var sut = new NoSpecimenOutputGuard(dummyBuilder); // Act var expectedBuilders = new[] { new DelegatingSpecimenBuilder(), new DelegatingSpecimenBuilder(), new DelegatingSpecimenBuilder() }; var actual = sut.Compose(expectedBuilders); // Assert var g = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual); var composite = Assert.IsAssignableFrom <CompositeSpecimenBuilder>(g.Builder); Assert.True(expectedBuilders.SequenceEqual(composite)); }
public void ComposeReturnsCorrectResult() { // Fixture setup var dummyBuilder = new DelegatingSpecimenBuilder(); var sut = new NoSpecimenOutputGuard(dummyBuilder); // Exercise system var expectedBuilders = new[] { new DelegatingSpecimenBuilder(), new DelegatingSpecimenBuilder(), new DelegatingSpecimenBuilder() }; var actual = sut.Compose(expectedBuilders); // Verify outcome var g = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual); var composite = Assert.IsAssignableFrom <CompositeSpecimenBuilder>(g.Builder); Assert.True(expectedBuilders.SequenceEqual(composite)); // Teardown }
public void CreateDoesNotThrowOnReturnedNoSpecimenWhenSpecificationReturnsFalse() { // Arrange var request = new object(); var builder = new DelegatingSpecimenBuilder { OnCreate = (r, c) => new NoSpecimen() }; var spec = new DelegatingRequestSpecification { OnIsSatisfiedBy = r => request == r ? false : true }; var sut = new NoSpecimenOutputGuard(builder, spec); // Act var dummyContext = new DelegatingSpecimenContext(); var result = sut.Create(request, dummyContext); // Assert var expectedResult = new NoSpecimen(); Assert.Equal(expectedResult, result); }
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 }