public void CustomizeAddsNSubstitutePostprocessorCommandsToResidueCollectors()
        {
            // Fixture setup
            var residueCollectors = new List <ISpecimenBuilder>();
            var fixture           = Substitute.For <IFixture>();

            fixture.ResidueCollectors.Returns(residueCollectors);
            var sut = new AutoConfiguredNSubstituteCustomization();

            // Exercise system
            sut.Customize(fixture);
            // Verify outcome
            var customization      = Assert.Single(residueCollectors);
            var postprocessor      = Assert.IsAssignableFrom <Postprocessor>(customization);
            var nsubstituteBuilder = Assert.IsAssignableFrom <NSubstituteBuilder>(postprocessor.Builder);
            var methodInvoker      = Assert.IsAssignableFrom <MethodInvoker>(nsubstituteBuilder.Builder);

            Assert.IsAssignableFrom <AbstractTypeSpecification>(nsubstituteBuilder.SubstitutionSpecification);
            Assert.IsAssignableFrom <NSubstituteMethodQuery>(methodInvoker.Query);
            var compositeCommand = Assert.IsAssignableFrom <CompositeSpecimenCommand>(postprocessor.Command);

            Assert.True(compositeCommand.Commands.OfType <NSubstituteVirtualMethodsCommand>().Any());
            Assert.True(compositeCommand.Commands.OfType <NSubstituteSealedPropertiesCommand>().Any());
            // Teardown
        }
Esempio n. 2
0
        public void CustomizeThrowsWhenFixtureIsNull()
        {
            // Arrange
            var sut = new AutoConfiguredNSubstituteCustomization();

            // Act & Assert
            Assert.Throws <ArgumentNullException>(
                () => sut.Customize(null));
        }
 public void CustomizeThrowsWhenFixtureIsNull()
 {
     // Fixture setup
     var sut = new AutoConfiguredNSubstituteCustomization();
     // Exercise system and verify outcome
     Assert.Throws<ArgumentNullException>(
         () => sut.Customize(null));
     // Teardown
 }
        public void CustomizeAddsBuilderToResidueCollectors()
        {
            var builder = Substitute.For <ISpecimenBuilder>();
            var fixture = Substitute.For <IFixture>();
            var sut     = new AutoConfiguredNSubstituteCustomization(builder);

            sut.Customize(fixture);

            fixture.ResidueCollectors.Received().Add(builder);
        }
        public void CustomizeAddsBuilderToResidueCollectors()
        {
            var builder = Substitute.For<ISpecimenBuilder>();
            var fixture = Substitute.For<IFixture>();
            var sut = new AutoConfiguredNSubstituteCustomization(builder);

            sut.Customize(fixture);

            fixture.ResidueCollectors.Received().Add(builder);
        }
Esempio n. 6
0
        public void BuilderIsSubstituteRelayByDefault()
        {
            // Arrange
            var sut = new AutoConfiguredNSubstituteCustomization();
            // Act
            var builder = sut.Builder;

            // Assert
            Assert.IsType <SubstituteRelay>(builder);
        }
        public void CustomizeThrowsWhenFixtureIsNull()
        {
            // Fixture setup
            var sut = new AutoConfiguredNSubstituteCustomization();

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(
                () => sut.Customize(null));
            // Teardown
        }
 public void BuilderIsSubstituteRelayByDefault()
 {
     // Fixture setup
     var sut = new AutoConfiguredNSubstituteCustomization();
     // Exercise system 
     var builder = sut.Builder;
     // Verify outcome
     Assert.IsType<SubstituteRelay>(builder);
     // Teardown
 }
        public void BuilderIsNSubstituteBuilderByDefault()
        {
            // Fixture setup
            var sut = new AutoConfiguredNSubstituteCustomization();
            // Exercise system
            var builder = sut.Builder;

            // Verify outcome
            Assert.IsType <NSubstituteBuilder>(builder);
            // Teardown
        }
 public void CustomizeInsertsSubstituteAttributeRelayInCustomizationsToOverrideDefaultConstructionWhenAttributeIsPresent()
 {
     // Fixture setup
     var sut = new AutoConfiguredNSubstituteCustomization();
     var fixture = Substitute.For<IFixture>();
     // Exercise system
     sut.Customize(fixture);
     // Verify outcome
     fixture.Customizations.Received().Insert(0, Arg.Any<SubstituteAttributeRelay>());
     // Teardown
 }
Esempio n. 11
0
        public void CustomizeInsertsSubstituteAttributeRelayInCustomizationsToOverrideDefaultConstructionWhenAttributeIsPresent()
        {
            // Arrange
            var sut     = new AutoConfiguredNSubstituteCustomization();
            var fixture = Substitute.For <IFixture>();

            // Act
            sut.Customize(fixture);
            // Assert
            fixture.Customizations.Received().Insert(0, Arg.Any <SubstituteAttributeRelay>());
        }
        public void CustomizeInsertsSubstituteAttributeRelayInCustomizationsToOverrideDefaultConstructionWhenAttributeIsPresent()
        {
            // Fixture setup
            var sut     = new AutoConfiguredNSubstituteCustomization();
            var fixture = Substitute.For <IFixture>();

            // Exercise system
            sut.Customize(fixture);
            // Verify outcome
            fixture.Customizations.Received().Insert(0, Arg.Any <SubstituteAttributeRelay>());
            // Teardown
        }
        public void CustomizeAddsBuilderToResidueCollectors()
        {
            var builder = Substitute.For<ISpecimenBuilder>();
            var residueCollectors = new List<ISpecimenBuilder>();
            var fixture = Substitute.For<IFixture>();
            fixture.ResidueCollectors.Returns(residueCollectors);
            var sut = new AutoConfiguredNSubstituteCustomization(builder);

            sut.Customize(fixture);

            var customization = Assert.Single(residueCollectors);
            var postprocessor = Assert.IsAssignableFrom<Postprocessor>(customization);
            Assert.Equal(builder, postprocessor.Builder);
        }
        public void CustomizeAddsBuilderToResidueCollectors()
        {
            var builder           = Substitute.For <ISpecimenBuilder>();
            var residueCollectors = new List <ISpecimenBuilder>();
            var fixture           = Substitute.For <IFixture>();

            fixture.ResidueCollectors.Returns(residueCollectors);
            var sut = new AutoConfiguredNSubstituteCustomization(builder);

            sut.Customize(fixture);

            var customization = Assert.Single(residueCollectors);
            var postprocessor = Assert.IsAssignableFrom <Postprocessor>(customization);

            Assert.Equal(builder, postprocessor.Builder);
        }
 public void CustomizeAddsPostprocessorWithSubstituteRequestHandlerAndCommandsToCustomizations()
 {
     // Fixture setup
     var fixture = Substitute.For<IFixture>();
     Postprocessor postprocessor = null;
     fixture.Customizations.Insert(Arg.Any<int>(), Arg.Do<Postprocessor>(p => postprocessor = p));
     var sut = new AutoConfiguredNSubstituteCustomization();
     // Exercise system
     sut.Customize(fixture);
     // Verify outcome
     var substituteRequestHandler = Assert.IsAssignableFrom<SubstituteRequestHandler>(postprocessor.Builder);
     var substituteFactory = Assert.IsType<MethodInvoker>(substituteRequestHandler.SubstituteFactory);
     Assert.IsType<NSubstituteMethodQuery>(substituteFactory.Query);
     var compositeCommand = Assert.IsAssignableFrom<CompositeSpecimenCommand>(postprocessor.Command);
     Assert.True(compositeCommand.Commands.OfType<NSubstituteVirtualMethodsCommand>().Any());
     Assert.True(compositeCommand.Commands.OfType<NSubstituteSealedPropertiesCommand>().Any());
     // Teardown
 }
Esempio n. 16
0
        public void CustomizeAddsPostprocessorWithSubstituteRequestHandlerAndCommandsToCustomizations()
        {
            // Arrange
            var           fixture       = Substitute.For <IFixture>();
            Postprocessor postprocessor = null;

            fixture.Customizations.Insert(Arg.Any <int>(), Arg.Do <Postprocessor>(p => postprocessor = p));
            var sut = new AutoConfiguredNSubstituteCustomization();

            // Act
            sut.Customize(fixture);
            // Assert
            var substituteRequestHandler = Assert.IsAssignableFrom <SubstituteRequestHandler>(postprocessor.Builder);
            var substituteFactory        = Assert.IsType <MethodInvoker>(substituteRequestHandler.SubstituteFactory);

            Assert.IsType <NSubstituteMethodQuery>(substituteFactory.Query);
            var compositeCommand = Assert.IsAssignableFrom <CompositeSpecimenCommand>(postprocessor.Command);

            Assert.True(compositeCommand.Commands.OfType <NSubstituteRegisterCallHandlerCommand>().Any());
            Assert.True(compositeCommand.Commands.OfType <NSubstituteSealedPropertiesCommand>().Any());
        }
 public void CustomizeAddsNSubstitutePostprocessorCommandsToResidueCollectors()
 {
     // Fixture setup
     var residueCollectors = new List<ISpecimenBuilder>();
     var fixture = Substitute.For<IFixture>();
     fixture.ResidueCollectors.Returns(residueCollectors);
     var sut = new AutoConfiguredNSubstituteCustomization();
     // Exercise system
     sut.Customize(fixture);
     // Verify outcome
     var customization = Assert.Single(residueCollectors);
     var postprocessor = Assert.IsAssignableFrom<Postprocessor>(customization);
     var nsubstituteBuilder = Assert.IsAssignableFrom<NSubstituteBuilder>(postprocessor.Builder);
     var methodInvoker = Assert.IsAssignableFrom<MethodInvoker>(nsubstituteBuilder.Builder);
     Assert.IsAssignableFrom<AbstractTypeSpecification>(nsubstituteBuilder.SubstitutionSpecification);
     Assert.IsAssignableFrom<NSubstituteMethodQuery>(methodInvoker.Query);
     var compositeCommand = Assert.IsAssignableFrom<CompositeSpecimenCommand>(postprocessor.Command);
     Assert.True(compositeCommand.Commands.OfType<NSubstituteVirtualMethodsCommand>().Any());
     Assert.True(compositeCommand.Commands.OfType<NSubstituteSealedPropertiesCommand>().Any());
     // Teardown
 }