/// <summary> /// Add the customization for a NullBuilder to the given <see cref="IFixture" />. /// </summary> /// <param name="fixture"> /// The <see cref="IFixture" /> to be customized. /// </param> public void Customize(IFixture fixture) { if (fixture == null) { throw new ArgumentNullException(nameof(fixture)); } var fixedBuilder = new NullBuilder( ); var types = new [] { TargetType, RegisteredType }; var specimenBuilders = from t in types select SpecimenBuilderNodeFactory.CreateTypedNode(t, fixedBuilder) as ISpecimenBuilder; var builder = new CompositeSpecimenBuilder(specimenBuilders); fixture.Customizations .Insert(0, builder); }
public void CreateTypedNodeReturnsCorrectResult(Type targetType) { // Fixture setup var factory = new DelegatingSpecimenBuilder(); // Exercise system FilteringSpecimenBuilder actual = SpecimenBuilderNodeFactory.CreateTypedNode( targetType, factory); // Verify outcome var expected = new FilteringSpecimenBuilder( new CompositeSpecimenBuilder( new NoSpecimenOutputGuard( factory, new InverseRequestSpecification( new SeedRequestSpecification( targetType))), new SeedIgnoringRelay()), new OrRequestSpecification( new SeedRequestSpecification(targetType), new ExactTypeSpecification(targetType))); Assert.True(expected.GraphEquals(actual, new NodeComparer())); // Teardown }
public void Customize(IFixture fixture) { fixture.Customizations.Add( SpecimenBuilderNodeFactory.CreateTypedNode( typeof(Foo), new Postprocessor( new MethodInvoker( new ModestConstructorQuery()), new CompositeSpecimenCommand( new AutoPropertiesCommand(), new UniqueIDsOnFooCommand())))); }
public void SutIsCorrectInitialGraph() { // Arrange var sut = SpecimenBuilderNodeFactory.CreateComposer <int>(); // Act // Assert var factory = new MethodInvoker(new ModestConstructorQuery()); var expected = new NodeComposer <int>( SpecimenBuilderNodeFactory.CreateTypedNode(typeof(int), factory)); Assert.True(expected.GraphEquals(sut, new NodeComparer())); }
public void SutIsCorrectInitialGraph() { // Fixture setup var sut = SpecimenBuilderNodeFactory.CreateComposer <int>(); // Exercise system // Verify outcome var factory = new MethodInvoker(new ModestConstructorQuery()); var expected = new NodeComposer <int>( SpecimenBuilderNodeFactory.CreateTypedNode(typeof(int), factory)); Assert.True(expected.GraphEquals(sut, new NodeComparer())); // Teardown }
/// <summary> /// Customizes the fixture by creating a <see cref="targetType"/> that has no auto populated properties. /// </summary> /// <param name="fixture">The fixture to customize.</param> /// <exception cref="ArgumentNullException"> /// <paramref name="fixture"/> is null. /// </exception> public void Customize(IFixture fixture) { if (fixture == null) { throw new ArgumentNullException("fixture"); } var constructor = new MethodInvoker(new ModestConstructorQuery()); var builder = SpecimenBuilderNodeFactory.CreateTypedNode( this.targetType, constructor); fixture.Customizations.Insert(0, builder); }
/// <summary> /// Customizes the specified fixture by modifying <see cref="TargetType"/> to use /// <see cref="Query"/> as the strategy for creating new specimens. /// </summary> /// <param name="fixture">The fixture to customize.</param> public void Customize(IFixture fixture) { if (fixture == null) { throw new ArgumentNullException(nameof(fixture)); } var factory = new MethodInvoker(this.Query); var builder = SpecimenBuilderNodeFactory.CreateTypedNode( this.TargetType, factory); fixture.Customizations.Insert(0, builder); }
public void CreateComposerReturnsCorrectResult() { // Arrange // Act NodeComposer <int> actual = SpecimenBuilderNodeFactory.CreateComposer <int>(); // Assert var expected = new NodeComposer <int>( SpecimenBuilderNodeFactory.CreateTypedNode( typeof(int), new MethodInvoker( new ModestConstructorQuery()))); Assert.True(expected.GraphEquals(actual, new NodeComparer())); }
public void FromSpecimenBuilderFactoryReturnsCorrectResult() { // Arrange var sut = SpecimenBuilderNodeFactory.CreateComposer <Guid>(); var builder = new DelegatingSpecimenBuilder(); // Act var actual = sut.FromFactory(builder); // Assert var expected = new NodeComposer <Guid>( SpecimenBuilderNodeFactory.CreateTypedNode(typeof(Guid), builder)); var n = Assert.IsAssignableFrom <ISpecimenBuilderNode>(actual); Assert.True(expected.GraphEquals(n, new NodeComparer())); }
public void FromSpecimenBuilderFactoryReturnsCorrectResult() { // Fixture setup var sut = SpecimenBuilderNodeFactory.CreateComposer <Guid>(); var builder = new DelegatingSpecimenBuilder(); // Exercise system var actual = sut.FromFactory(builder); // Verify outcome var expected = new NodeComposer <Guid>( SpecimenBuilderNodeFactory.CreateTypedNode(typeof(Guid), builder)); var n = Assert.IsAssignableFrom <ISpecimenBuilderNode>(actual); Assert.True(expected.GraphEquals(n, new NodeComparer())); // Teardown }
public void FromSingleArgFuncReturnsCorrectResult() { // Arrange var sut = SpecimenBuilderNodeFactory.CreateComposer <float>(); Func <int, float> f = i => i; // Act var actual = sut.FromFactory(f); // Assert var factory = new SpecimenFactory <int, float>(f); var expected = new NodeComposer <float>( SpecimenBuilderNodeFactory.CreateTypedNode(typeof(float), factory)); var n = Assert.IsAssignableFrom <ISpecimenBuilderNode>(actual); Assert.True(expected.GraphEquals(n, new NodeComparer())); }
public void CreateComposerReturnsCorrectResult() { // Fixture setup // Exercise system NodeComposer <int> actual = SpecimenBuilderNodeFactory.CreateComposer <int>(); // Verify outcome var expected = new NodeComposer <int>( SpecimenBuilderNodeFactory.CreateTypedNode( typeof(int), new MethodInvoker( new ModestConstructorQuery()))); Assert.True(expected.GraphEquals(actual, new NodeComparer())); // Teardown }
public void FromSeedReturnsCorrectResult() { // Arrange var sut = SpecimenBuilderNodeFactory.CreateComposer <decimal>(); Func <decimal, decimal> f = d => d; // Act var actual = sut.FromSeed(f); // Assert var factory = new SeededFactory <decimal>(f); var expected = new NodeComposer <decimal>( SpecimenBuilderNodeFactory.CreateTypedNode(typeof(decimal), factory)); var n = Assert.IsAssignableFrom <ISpecimenBuilderNode>(actual); Assert.True(expected.GraphEquals(n, new NodeComparer())); }
public void FromTripleArgFuncReturnsCorrectResult() { // Arrange var sut = SpecimenBuilderNodeFactory.CreateComposer <decimal>(); Func <int, Guid, Version, decimal> f = (i, g, v) => i; // Act var actual = sut.FromFactory(f); // Assert var factory = new SpecimenFactory <int, Guid, Version, decimal>(f); var expected = new NodeComposer <decimal>( SpecimenBuilderNodeFactory.CreateTypedNode(typeof(decimal), factory)); var n = Assert.IsAssignableFrom <ISpecimenBuilderNode>(actual); Assert.True(expected.GraphEquals(n, new NodeComparer())); }
public void FromQuadrupleArgFuncReturnsCorrectResult() { // Arrange var sut = SpecimenBuilderNodeFactory.CreateComposer <Version>(); Func <int, int, int, int, Version> f = (mj, mn, b, r) => new Version(mj, mn, b, r); // Act var actual = sut.FromFactory(f); // Assert var factory = new SpecimenFactory <int, int, int, int, Version>(f); var expected = new NodeComposer <Version>( SpecimenBuilderNodeFactory.CreateTypedNode(typeof(Version), factory)); var n = Assert.IsAssignableFrom <ISpecimenBuilderNode>(actual); Assert.True(expected.GraphEquals(n, new NodeComparer())); }
public void FromDoubleArgFuncReturnsCorrectResult() { // Fixture setup var sut = SpecimenBuilderNodeFactory.CreateComposer <string>(); Func <int, Version, string> f = (i, _) => i.ToString(); // Exercise system var actual = sut.FromFactory(f); // Verify outcome var factory = new SpecimenFactory <int, Version, string>(f); var expected = new NodeComposer <string>( SpecimenBuilderNodeFactory.CreateTypedNode(typeof(string), factory)); var n = Assert.IsAssignableFrom <ISpecimenBuilderNode>(actual); Assert.True(expected.GraphEquals(n, new NodeComparer())); // Teardown }
public void FromSeedReturnsCorrectResult() { // Fixture setup var sut = SpecimenBuilderNodeFactory.CreateComposer <decimal>(); Func <decimal, decimal> f = d => d; // Exercise system var actual = sut.FromSeed(f); // Verify outcome var factory = new SeededFactory <decimal>(f); var expected = new NodeComposer <decimal>( SpecimenBuilderNodeFactory.CreateTypedNode(typeof(decimal), factory)); var n = Assert.IsAssignableFrom <ISpecimenBuilderNode>(actual); Assert.True(expected.GraphEquals(n, new NodeComparer())); // Teardown }
/// <summary> /// Customizes the specified fixture by modifying <see cref="TargetType"/> to use /// <see cref="Query"/> as the strategy for creating new specimens. /// </summary> /// <param name="fixture">The fixture to customize.</param> public void Customize(IFixture fixture) { if (fixture == null) { throw new ArgumentNullException("fixture"); } var factory = new MethodInvoker(this.Query); var builder = SpecimenBuilderNodeFactory.CreateTypedNode( this.targetType, factory); fixture.Customizations.Insert( 0, new Postprocessor( builder, new AutoPropertiesCommand())); }
/// <summary> /// Add the customization for a NullBuilder to the given <see cref="IFixture" />. /// </summary> /// <param name="fixture"> /// The <see cref="IFixture" /> to be customized. /// </param> public void Customize([NotNull] IFixture fixture) { Guard.ArgumentNotNull(fixture, nameof(fixture)); var fixedBuilder = new NullBuilder( ); var types = new [] { TargetType, RegisteredType }; var specimenBuilders = from t in types select SpecimenBuilderNodeFactory.CreateTypedNode(t, fixedBuilder) as ISpecimenBuilder; var builder = new CompositeSpecimenBuilder(specimenBuilders); fixture.Customizations .Insert(0, builder); }
/// <summary> /// Customizes the fixture by freezing the value of <see cref="TargetType"/>. /// </summary> /// <param name="fixture">The fixture to customize.</param> /// <exception cref="ArgumentNullException"> /// <paramref name="fixture"/> is null. /// </exception> public void Customize(IFixture fixture) { if (fixture == null) { throw new ArgumentNullException("fixture"); } var specimen = Substitute.For(new[] { this.targetType }, new object[0]); var fixedBuilder = new FixedBuilder(specimen); var types = new[] { this.targetType, this.registeredType }; var builder = new CompositeSpecimenBuilder( from t in types select SpecimenBuilderNodeFactory.CreateTypedNode( t, fixedBuilder) as ISpecimenBuilder); fixture.Customizations.Insert(0, builder); }