public void ComposeReturnsCorrectResult() { // Fixture setup var builder1 = new DelegatingSpecimenBuilder(); var builder2 = new DelegatingSpecimenBuilder(); var builder3 = new DelegatingSpecimenBuilder(); var composer = new DelegatingComposer <object> { OnCompose = () => builder1 }; var behaviors = new[] { new DelegatingSpecimenBuilderTransformation { OnTransform = b => b == builder1 ? builder2 : new DelegatingSpecimenBuilder() }, new DelegatingSpecimenBuilderTransformation { OnTransform = b => b == builder2 ? builder3 : new DelegatingSpecimenBuilder() } }; var sut = new BehaviorComposer <object>(composer, behaviors); // Exercise system var result = sut.Compose(); // Verify outcome Assert.Equal(builder3, result); // Teardown }
public void SutIsPostprocessComposer() { // Fixture setup var dummyComposer = new DelegatingComposer<object>(); // Exercise system var sut = new BehaviorComposer<object>(dummyComposer); // Verify outcome Assert.IsAssignableFrom<ICustomizationComposer<object>>(sut); // Teardown }
public void WithNullPostprocessComposerThrows() { // Fixture setup var dummyComposer = new DelegatingComposer <object>(); var sut = new BehaviorComposer <object>(dummyComposer); // Exercise system and verify outcome Assert.Throws <ArgumentNullException>(() => sut.With((IPostprocessComposer <object>)null)); // Teardown }
public void SutIsPostprocessComposer() { // Fixture setup var dummyComposer = new DelegatingComposer <object>(); // Exercise system var sut = new BehaviorComposer <object>(dummyComposer); // Verify outcome Assert.IsAssignableFrom <ICustomizationComposer <object> >(sut); // Teardown }
public void InitializedWithArrayConstructorHasCorrectComposer() { // Fixture setup var expectedComposer = new DelegatingComposer<object>(); var sut = new BehaviorComposer<object>(expectedComposer); // Exercise system ICustomizationComposer<object> result = sut.Composer; // Verify outcome Assert.Equal(expectedComposer, result); // Teardown }
public void InitializedWithArrayConstructorHasCorrectComposer() { // Fixture setup var expectedComposer = new DelegatingComposer <object>(); var sut = new BehaviorComposer <object>(expectedComposer); // Exercise system ICustomizationComposer <object> result = sut.Composer; // Verify outcome Assert.Equal(expectedComposer, result); // Teardown }
public void WithPostprocessComposerReturnsResultWithCorrectComposer() { // Fixture setup var dummyComposer = new DelegatingComposer <object>(); var sut = new BehaviorComposer <object>(dummyComposer); IPostprocessComposer <object> expectedComposer = new DelegatingComposer <object>(); // Exercise system var result = sut.With(expectedComposer); // Verify outcome Assert.Equal(expectedComposer, result.Composer); // Teardown }
public void InitializedWithEnumerableConstructorHasCorrectComposer() { // Fixture setup var expectedComposer = new DelegatingComposer <object>(); var dummyBehaviors = Enumerable.Empty <ISpecimenBuilderTransformation>(); var sut = new BehaviorComposer <object>(expectedComposer, dummyBehaviors); // Exercise system var result = sut.Composer; // Verify outcome Assert.Equal(expectedComposer, result); // Teardown }
public void ComposeWithNoBehaviorsReturnsCorrectResult() { // Fixture setup var expectedBuilder = new DelegatingSpecimenBuilder(); var composer = new DelegatingComposer <object> { OnCompose = () => expectedBuilder }; var sut = new BehaviorComposer <object>(composer); // Exercise system var result = sut.Compose(); // Verify outcome Assert.Equal(expectedBuilder, result); // Teardown }
public void WithPostprocessComposerReturnsResultWithCorrectBehaviors() { // Fixture setup var dummyComposer1 = new DelegatingComposer <object>(); var expectedBehaviors = Enumerable.Range(1, 3) .Select(i => new DelegatingSpecimenBuilderTransformation()) .ToArray(); var sut = new BehaviorComposer <object>(dummyComposer1, expectedBehaviors); // Exercise system IPostprocessComposer <object> dummyComposer2 = new DelegatingComposer <object>(); var result = sut.With(dummyComposer2); // Verify outcome Assert.True(expectedBehaviors.SequenceEqual(result.Behaviors)); // Teardown }
public void BehaviorsIsStable() { // Fixture setup var dummyComposer = new DelegatingComposer <object>(); var behaviors = Enumerable.Range(1, 3) .Select(i => new DelegatingSpecimenBuilderTransformation()) .Cast <ISpecimenBuilderTransformation>(); var sut = new BehaviorComposer <object>(dummyComposer, behaviors); var expectedBehaviors = sut.Behaviors; // Exercise system var result = sut.Behaviors; // Verify outcome Assert.True(expectedBehaviors.SequenceEqual(result)); // Teardown }
public void InitializedWithEnumerableConstructorHasCorrectBehaviors() { // Fixture setup var dummyComposer = new DelegatingComposer <object>(); var expectedBehaviors = Enumerable.Range(1, 3) .Select(i => new DelegatingSpecimenBuilderTransformation()) .Cast <ISpecimenBuilderTransformation>() .ToList(); var sut = new BehaviorComposer <object>(dummyComposer, expectedBehaviors); // Exercise system var result = sut.Behaviors; // Verify outcome Assert.True(expectedBehaviors.SequenceEqual(result)); // Teardown }
public void WithAutoPropertiesReturnsCorrectResult() { // Fixture setup var expectedComposer = new DelegatingComposer <object>(); var composer = new DelegatingComposer <object> { OnWithAutoProperties = () => expectedComposer }; var sut = new BehaviorComposer <object>(composer); // Exercise system var result = sut.WithAutoProperties(); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom <BehaviorPostprocessComposer <object> >(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void FromSeedReturnsCorrectResult() { // Fixture setup Func <object, object> expectedFactory = s => s; var expectedComposer = new DelegatingComposer <object>(); var composer = new DelegatingComposer { OnFromSeed = f => f == expectedFactory ? expectedComposer : new DelegatingComposer <object>() }; var sut = new BehaviorComposer <object>(composer); // Exercise system var result = sut.FromSeed(expectedFactory); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom <BehaviorPostprocessComposer <object> >(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void FromBuilderFactoryReturnsCorrectResult() { // Fixture setup var expectedFactory = new DelegatingSpecimenBuilder(); var expectedComposer = new DelegatingComposer <Version>(); var composer = new DelegatingComposer <Version> { OnFromBuilder = f => f == expectedFactory ? expectedComposer : new DelegatingComposer <Version>() }; var sut = new BehaviorComposer <Version>(composer); // Exercise system var result = sut.FromFactory(expectedFactory); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom <BehaviorPostprocessComposer <Version> >(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void FromQuadrupleInputFactoryReturnsCorrectResult() { // Fixture setup Func <object, object, object, object, object> expectedFactory = (x, y, z, æ) => x; var expectedComposer = new DelegatingComposer <object>(); var composer = new DelegatingComposer { OnFromOverloadeFactory = f => f.Equals(expectedFactory) ? expectedComposer : new DelegatingComposer <object>() }; var sut = new BehaviorComposer <object>(composer); // Exercise system var result = sut.FromFactory(expectedFactory); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom <BehaviorPostprocessComposer <object> >(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void DoReturnsCorrectResult() { // Fixture setup Action <object> expectedAction = s => { }; var expectedComposer = new DelegatingComposer <object>(); var composer = new DelegatingComposer <object> { OnDo = a => a == expectedAction ? expectedComposer : new DelegatingComposer <object>() }; var sut = new BehaviorComposer <object>(composer); // Exercise system var result = sut.Do(expectedAction); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom <BehaviorPostprocessComposer <object> >(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void WithoutReturnsCorrectResult() { // Fixture setup Expression <Func <PropertyHolder <object>, object> > expectedExpression = x => x.Property; var expectedComposer = new DelegatingComposer <PropertyHolder <object> >(); var composer = new DelegatingComposer <PropertyHolder <object> > { OnWithout = f => f == expectedExpression ? expectedComposer : new DelegatingComposer <PropertyHolder <object> >() }; var sut = new BehaviorComposer <PropertyHolder <object> >(composer); // Exercise system var result = sut.Without(expectedExpression); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom <BehaviorPostprocessComposer <PropertyHolder <object> > >(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void WithPostprocessComposerReturnsResultWithCorrectComposer() { // Fixture setup var dummyComposer = new DelegatingComposer<object>(); var sut = new BehaviorComposer<object>(dummyComposer); IPostprocessComposer<object> expectedComposer = new DelegatingComposer<object>(); // Exercise system var result = sut.With(expectedComposer); // Verify outcome Assert.Equal(expectedComposer, result.Composer); // Teardown }
public void ComposeWithNoBehaviorsReturnsCorrectResult() { // Fixture setup var expectedBuilder = new DelegatingSpecimenBuilder(); var composer = new DelegatingComposer<object> { OnCompose = () => expectedBuilder }; var sut = new BehaviorComposer<object>(composer); // Exercise system var result = sut.Compose(); // Verify outcome Assert.Equal(expectedBuilder, result); // Teardown }
public void ComposeReturnsCorrectResult() { // Fixture setup var builder1 = new DelegatingSpecimenBuilder(); var builder2 = new DelegatingSpecimenBuilder(); var builder3 = new DelegatingSpecimenBuilder(); var composer = new DelegatingComposer<object> { OnCompose = () => builder1 }; var behaviors = new[] { new DelegatingSpecimenBuilderTransformation { OnTransform = b => b == builder1 ? builder2 : new DelegatingSpecimenBuilder() }, new DelegatingSpecimenBuilderTransformation { OnTransform = b => b == builder2 ? builder3 : new DelegatingSpecimenBuilder() } }; var sut = new BehaviorComposer<object>(composer, behaviors); // Exercise system var result = sut.Compose(); // Verify outcome Assert.Equal(builder3, result); // Teardown }
public void WithoutReturnsCorrectResult() { // Fixture setup Expression<Func<PropertyHolder<object>, object>> expectedExpression = x => x.Property; var expectedComposer = new DelegatingComposer<PropertyHolder<object>>(); var composer = new DelegatingComposer<PropertyHolder<object>> { OnWithout = f => f == expectedExpression ? expectedComposer : new DelegatingComposer<PropertyHolder<object>>() }; var sut = new BehaviorComposer<PropertyHolder<object>>(composer); // Exercise system var result = sut.Without(expectedExpression); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom<BehaviorPostprocessComposer<PropertyHolder<object>>>(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void WithAutoPropertiesReturnsCorrectResult() { // Fixture setup var expectedComposer = new DelegatingComposer<object>(); var composer = new DelegatingComposer<object> { OnWithAutoProperties = () => expectedComposer }; var sut = new BehaviorComposer<object>(composer); // Exercise system var result = sut.WithAutoProperties(); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom<BehaviorPostprocessComposer<object>>(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void DoReturnsCorrectResult() { // Fixture setup Action<object> expectedAction = s => { }; var expectedComposer = new DelegatingComposer<object>(); var composer = new DelegatingComposer<object> { OnDo = a => a == expectedAction ? expectedComposer : new DelegatingComposer<object>() }; var sut = new BehaviorComposer<object>(composer); // Exercise system var result = sut.Do(expectedAction); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom<BehaviorPostprocessComposer<object>>(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void FromQuadrupleInputFactoryReturnsCorrectResult() { // Fixture setup Func<object, object, object, object, object> expectedFactory = (x, y, z, æ) => x; var expectedComposer = new DelegatingComposer<object>(); var composer = new DelegatingComposer { OnFromOverloadeFactory = f => f.Equals(expectedFactory) ? expectedComposer : new DelegatingComposer<object>() }; var sut = new BehaviorComposer<object>(composer); // Exercise system var result = sut.FromFactory(expectedFactory); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom<BehaviorPostprocessComposer<object>>(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void FromBuilderFactoryReturnsCorrectResult() { // Fixture setup var expectedFactory = new DelegatingSpecimenBuilder(); var expectedComposer = new DelegatingComposer<Version>(); var composer = new DelegatingComposer<Version> { OnFromBuilder = f => f == expectedFactory ? expectedComposer : new DelegatingComposer<Version>() }; var sut = new BehaviorComposer<Version>(composer); // Exercise system var result = sut.FromFactory(expectedFactory); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom<BehaviorPostprocessComposer<Version>>(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void FromSeedReturnsCorrectResult() { // Fixture setup Func<object, object> expectedFactory = s => s; var expectedComposer = new DelegatingComposer<object>(); var composer = new DelegatingComposer { OnFromSeed = f => f == expectedFactory ? expectedComposer : new DelegatingComposer<object>() }; var sut = new BehaviorComposer<object>(composer); // Exercise system var result = sut.FromSeed(expectedFactory); // Verify outcome var behaviorComposer = Assert.IsAssignableFrom<BehaviorPostprocessComposer<object>>(result); Assert.Equal(expectedComposer, behaviorComposer.Composer); // Teardown }
public void WithPostprocessComposerReturnsResultWithCorrectBehaviors() { // Fixture setup var dummyComposer1 = new DelegatingComposer<object>(); var expectedBehaviors = Enumerable.Range(1, 3) .Select(i => new DelegatingSpecimenBuilderTransformation()) .ToArray(); var sut = new BehaviorComposer<object>(dummyComposer1, expectedBehaviors); // Exercise system IPostprocessComposer<object> dummyComposer2 = new DelegatingComposer<object>(); var result = sut.With(dummyComposer2); // Verify outcome Assert.True(expectedBehaviors.SequenceEqual(result.Behaviors)); // Teardown }
public void WithNullPostprocessComposerThrows() { // Fixture setup var dummyComposer = new DelegatingComposer<object>(); var sut = new BehaviorComposer<object>(dummyComposer); // Exercise system and verify outcome Assert.Throws<ArgumentNullException>(() => sut.With((IPostprocessComposer<object>)null)); // Teardown }
public void InitializedWithEnumerableConstructorHasCorrectComposer() { // Fixture setup var expectedComposer = new DelegatingComposer<object>(); var dummyBehaviors = Enumerable.Empty<ISpecimenBuilderTransformation>(); var sut = new BehaviorComposer<object>(expectedComposer, dummyBehaviors); // Exercise system var result = sut.Composer; // Verify outcome Assert.Equal(expectedComposer, result); // Teardown }
public void InitializedWithArrayConstructorHasCorrectBehaviors() { // Fixture setup var dummyComposer = new DelegatingComposer<object>(); var expectedBehaviors = Enumerable.Range(1, 3) .Select(i => new DelegatingSpecimenBuilderTransformation()) .Cast<ISpecimenBuilderTransformation>() .ToArray(); var sut = new BehaviorComposer<object>(dummyComposer, expectedBehaviors); // Exercise system IEnumerable<ISpecimenBuilderTransformation> result = sut.Behaviors; // Verify outcome Assert.True(expectedBehaviors.SequenceEqual(result)); // Teardown }
public void BehaviorsIsStable() { // Fixture setup var dummyComposer = new DelegatingComposer<object>(); var behaviors = Enumerable.Range(1, 3) .Select(i => new DelegatingSpecimenBuilderTransformation()) .Cast<ISpecimenBuilderTransformation>(); var sut = new BehaviorComposer<object>(dummyComposer, behaviors); var expectedBehaviors = sut.Behaviors; // Exercise system var result = sut.Behaviors; // Verify outcome Assert.True(expectedBehaviors.SequenceEqual(result)); // Teardown }