public void CreateSeededAndCountedManyOnSpecimenBuilderComposerReturnsCorrectResult()
        {
            // Fixture setup
            var seed            = TimeSpan.FromDays(3);
            var count           = 6;
            var expectedResult  = Enumerable.Range(1, count).Select(i => TimeSpan.FromHours(i));
            var specimenBuilder = new DelegatingSpecimenBuilder();

            specimenBuilder.OnCreate = (r, c) =>
            {
                Assert.NotNull(c);
                Assert.Equal(new FiniteSequenceRequest(new SeededRequest(typeof(TimeSpan), seed), count), r);
                return(expectedResult.Cast <object>());
            };

            var composer = new DelegatingComposer {
                OnCompose = () => specimenBuilder
            };
            // Exercise system
            var result = composer.CreateMany(seed, count);

            // Verify outcome
            Assert.True(expectedResult.SequenceEqual(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 InitializeWithComposerAndNullEnumerableThrows()
 {
     // Fixture setup
     var dummyComposer = new DelegatingComposer<object>();
     // Exercise system and verify outcome
     Assert.Throws<ArgumentNullException>(() =>
         new BehaviorPostprocessComposer<object>(dummyComposer, (IEnumerable<ISpecimenBuilderTransformation>)null));
     // Teardown
 }
 public void InitializeWithNullBehaviorArrayThrows()
 {
     // Fixture setup
     var dummyComposer = new DelegatingComposer<object>();
     // Exercise system and verify outcome
     Assert.Throws<ArgumentNullException>(() =>
         new BehaviorComposer<object>(dummyComposer, (ISpecimenBuilderTransformation[])null));
     // Teardown
 }
        public void InitializeWithNullBehaviorArrayThrows()
        {
            // Fixture setup
            var dummyComposer = new DelegatingComposer <object>();

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(() =>
                                                  new BehaviorPostprocessComposer <object>(dummyComposer, (ISpecimenBuilderTransformation[])null));
            // Teardown
        }
        public void InitializeWithComposerAndNullEnumerableThrows()
        {
            // Fixture setup
            var dummyComposer = new DelegatingComposer <object>();

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(() =>
                                                  new BehaviorComposer <object>(dummyComposer, (IEnumerable <ISpecimenBuilderTransformation>)null));
            // Teardown
        }
 public void SutIsPostprocessComposer()
 {
     // Fixture setup
     var dummyComposer = new DelegatingComposer<object>();
     // Exercise system
     var sut = new BehaviorPostprocessComposer<object>(dummyComposer);
     // Verify outcome
     Assert.IsAssignableFrom<IPostprocessComposer<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 InitializedWithArrayConstructorHasCorrectComposer()
 {
     // Fixture setup
     var expectedComposer = new DelegatingComposer<object>();
     var sut = new BehaviorPostprocessComposer<object>(expectedComposer);
     // Exercise system
     IPostprocessComposer<object> result = sut.Composer;
     // Verify outcome
     Assert.Equal(expectedComposer, 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 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 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 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 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 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 CreateAnonymousOnSpecimenBuilderComposerReturnsCorrectResult()
        {
            // Fixture setup
            var expectedResult = new DateTime(2010, 5, 31, 14, 52, 19);
            var specimenBuilder = new DelegatingSpecimenBuilder();
            specimenBuilder.OnCreate = (r, c) =>
            {
                Assert.NotNull(c);
                Assert.Equal(new SeededRequest(typeof(DateTime), default(DateTime)), r);
                return expectedResult;
            };

            ISpecimenBuilder composer = new DelegatingComposer { OnCreate = specimenBuilder.OnCreate };
            // Exercise system
            var result = composer.Create<DateTime>();
            // Verify outcome
            Assert.Equal(expectedResult, result);
            // Teardown
        }
Ejemplo n.º 25
0
        public void CreateManyOnPostprocessComposerReturnsCorrectResult()
        {
            // Arrange
            var expectedResult  = Enumerable.Range(1, 17).Select(i => i.ToString());
            var specimenBuilder = new DelegatingSpecimenBuilder();

            specimenBuilder.OnCreate = (r, c) =>
            {
                Assert.NotNull(c);
                Assert.Equal(new MultipleRequest(new SeededRequest(typeof(string), null)), r);
                return(expectedResult.Cast <object>());
            };

            var composer = new DelegatingComposer <string> {
                OnCreate = specimenBuilder.OnCreate
            };
            // Act
            var result = composer.CreateMany();

            // Assert
            Assert.True(expectedResult.SequenceEqual(result));
        }
Ejemplo n.º 26
0
        public void CreateAnonymousOnSpecimenBuilderComposerReturnsCorrectResult()
        {
            // Arrange
            var expectedResult  = new DateTime(2010, 5, 31, 14, 52, 19);
            var specimenBuilder = new DelegatingSpecimenBuilder();

            specimenBuilder.OnCreate = (r, c) =>
            {
                Assert.NotNull(c);
                Assert.Equal(new SeededRequest(typeof(DateTime), default(DateTime)), r);
                return(expectedResult);
            };

            ISpecimenBuilder composer = new DelegatingComposer {
                OnCreate = specimenBuilder.OnCreate
            };
            // Act
            var result = composer.Create <DateTime>();

            // Assert
            Assert.Equal(expectedResult, result);
        }
Ejemplo n.º 27
0
        public void CreateCountedManyOnSpecimenBuilderComposerReturnsCorrectResult()
        {
            // Arrange
            var count           = 9;
            var expectedResult  = Enumerable.Range(1, count).Select(i => i.ToString());
            var specimenBuilder = new DelegatingSpecimenBuilder();

            specimenBuilder.OnCreate = (r, c) =>
            {
                Assert.NotNull(c);
                Assert.Equal(new FiniteSequenceRequest(new SeededRequest(typeof(string), null), count), r);
                return(expectedResult.Cast <object>());
            };

            ISpecimenBuilder composer = new DelegatingComposer {
                OnCreate = specimenBuilder.OnCreate
            };
            // Act
            var result = composer.CreateMany <string>(count);

            // Assert
            Assert.True(expectedResult.SequenceEqual(result));
        }
        public void CreateAnonymousOnPostprocessComposerReturnsCorrectResult()
        {
            // Fixture setup
            var expectedResult  = new DateTime(2010, 5, 31, 14, 52, 19);
            var specimenBuilder = new DelegatingSpecimenBuilder();

            specimenBuilder.OnCreate = (r, c) =>
            {
                Assert.NotNull(c);
                Assert.Equal(new SeededRequest(typeof(DateTime), default(DateTime)), r);
                return(expectedResult);
            };

            var composer = new DelegatingComposer <DateTime> {
                OnCompose = () => specimenBuilder
            };
            // Exercise system
            var result = composer.CreateAnonymous();

            // Verify outcome
            Assert.Equal(expectedResult, result);
            // Teardown
        }
        public void CreateManyOnPostprocessComposerReturnsCorrectResult()
        {
            // Fixture setup
            var expectedResult  = Enumerable.Range(1, 17).Select(i => i.ToString());
            var specimenBuilder = new DelegatingSpecimenBuilder();

            specimenBuilder.OnCreate = (r, c) =>
            {
                Assert.NotNull(c);
                Assert.Equal(new MultipleRequest(new SeededRequest(typeof(string), null)), r);
                return(expectedResult.Cast <object>());
            };

            var composer = new DelegatingComposer <string> {
                OnCompose = () => specimenBuilder
            };
            // Exercise system
            var result = composer.CreateMany();

            // Verify outcome
            Assert.True(expectedResult.SequenceEqual(result));
            // Teardown
        }
        public void CreateaSeededAnonymousOnSpecimenBuilderComposerReturnsCorrectResult()
        {
            // Fixture setup
            var seed            = new Version(1, 1);
            var expectedResult  = new Version(2, 0);
            var specimenBuilder = new DelegatingSpecimenBuilder();

            specimenBuilder.OnCreate = (r, c) =>
            {
                Assert.NotNull(c);
                Assert.Equal(new SeededRequest(typeof(Version), seed), r);
                return(expectedResult);
            };

            var composer = new DelegatingComposer {
                OnCompose = () => specimenBuilder
            };
            // Exercise system
            var result = composer.CreateAnonymous(seed);

            // Verify outcome
            Assert.Equal(expectedResult, result);
            // Teardown
        }
 public void InitializedWithEnumerableConstructorHasCorrectComposer()
 {
     // Fixture setup
     var expectedComposer = new DelegatingComposer<object>();
     var dummyBehaviors = Enumerable.Empty<ISpecimenBuilderTransformation>();
     var sut = new BehaviorPostprocessComposer<object>(expectedComposer, dummyBehaviors);
     // Exercise system
     var result = sut.Composer;
     // Verify outcome
     Assert.Equal(expectedComposer, result);
     // Teardown
 }
Ejemplo n.º 32
0
        public void CreateCountedManyOnPostprocessComposerReturnsCorrectResult()
        {
            // Fixture setup
            var count = 9;
            var expectedResult = Enumerable.Range(1, count).Select(i => i.ToString());
            var specimenBuilder = new DelegatingSpecimenBuilder();
            specimenBuilder.OnCreate = (r, c) =>
            {
                Assert.NotNull(c);
                Assert.Equal(new FiniteSequenceRequest(new SeededRequest(typeof(string), null), count), r);
                return expectedResult.Cast<object>();
            };

            var composer = new DelegatingComposer<string> { OnCreate = specimenBuilder.OnCreate };
            // Exercise system
            var result = composer.CreateMany(count);
            // Verify outcome
            Assert.True(expectedResult.SequenceEqual(result));
            // Teardown
        }
Ejemplo n.º 33
0
        public void CreateSeededAndCountedManyOnSpecimenBuilderComposerReturnsCorrectResult()
        {
            // Fixture setup
            var seed = TimeSpan.FromDays(3);
            var count = 6;
            var expectedResult = Enumerable.Range(1, count).Select(i => TimeSpan.FromHours(i));
            var specimenBuilder = new DelegatingSpecimenBuilder();
            specimenBuilder.OnCreate = (r, c) =>
                {
                    Assert.NotNull(c);
                    Assert.Equal(new FiniteSequenceRequest(new SeededRequest(typeof(TimeSpan), seed), count), r);
                    return expectedResult.Cast<object>();
                };

            var composer = new DelegatingComposer { OnCreate = specimenBuilder.OnCreate };
            // Exercise system
            var result = composer.CreateMany(seed, count);
            // Verify outcome
            Assert.True(expectedResult.SequenceEqual(result));
            // Teardown
        }
 public void ComposeWithNoBehaviorsReturnsCorrectResult()
 {
     // Fixture setup
     var expectedBuilder = new DelegatingSpecimenBuilder();
     var composer = new DelegatingComposer<object> { OnCompose = () => expectedBuilder };
     var sut = new BehaviorPostprocessComposer<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 BehaviorPostprocessComposer<object>(composer, behaviors);
            // Exercise system
            var result = sut.Compose();
            // Verify outcome
            Assert.Equal(builder3, result);
            // 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
        }
Ejemplo n.º 37
0
        public void CreateaSeededAnonymousOnSpecimenBuilderComposerReturnsCorrectResult()
        {
            // Fixture setup
            var seed = new Version(1, 1);
            var expectedResult = new Version(2, 0);
            var specimenBuilder = new DelegatingSpecimenBuilder();
            specimenBuilder.OnCreate = (r, c) =>
                {
                    Assert.NotNull(c);
                    Assert.Equal(new SeededRequest(typeof(Version), seed), r);
                    return expectedResult;
                };

            var composer = new DelegatingComposer { OnCreate = specimenBuilder.OnCreate };
            // Exercise system
            var result = composer.Create(seed);
            // Verify outcome
            Assert.Equal(expectedResult, result);
            // 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 BehaviorPostprocessComposer<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 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 WithReturnsResultWithCorrectBehaviors()
 {
     // Fixture setup
     var dummyComposer1 = new DelegatingComposer<object>();
     var expectedBehaviors = Enumerable.Range(1, 3)
         .Select(i => new DelegatingSpecimenBuilderTransformation())
         .ToArray();
     var sut = new BehaviorPostprocessComposer<object>(dummyComposer1, expectedBehaviors);
     // Exercise system
     var dummyComposer2 = new DelegatingComposer<object>();
     var result = sut.With(dummyComposer2);
     // Verify outcome
     Assert.True(expectedBehaviors.SequenceEqual(result.Behaviors));
     // Teardown
 }
 public void WithReturnsResultWithCorrectComposer()
 {
     // Fixture setup
     var dummyComposer = new DelegatingComposer<object>();
     var sut = new BehaviorPostprocessComposer<object>(dummyComposer);
     var expectedComposer = new DelegatingComposer<object>();
     // Exercise system
     var result = sut.With(expectedComposer);
     // Verify outcome
     Assert.Equal(expectedComposer, result.Composer);
     // Teardown
 }
 public void WithNullComposerThrows()
 {
     // Fixture setup
     var dummyComposer = new DelegatingComposer<object>();
     var sut = new BehaviorPostprocessComposer<object>(dummyComposer);
     // Exercise system and verify outcome
     Assert.Throws<ArgumentNullException>(() =>
         sut.With(null));
     // 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 BehaviorPostprocessComposer<object>(dummyComposer, behaviors);
     var expectedBehaviors = sut.Behaviors;
     // Exercise system
     var result = sut.Behaviors;
     // Verify outcome
     Assert.True(expectedBehaviors.SequenceEqual(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 BehaviorPostprocessComposer<object>(dummyComposer, expectedBehaviors);
     // Exercise system
     IEnumerable<ISpecimenBuilderTransformation> 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 BehaviorPostprocessComposer<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 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 BehaviorPostprocessComposer<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
        }
Ejemplo n.º 47
0
        public void CreateManyOnSpecimenBuilderComposerReturnsCorrectResult()
        {
            // Fixture setup
            var expectedResult = Enumerable.Range(1, 17).Select(i => i.ToString());
            var specimenBuilder = new DelegatingSpecimenBuilder();
            specimenBuilder.OnCreate = (r, c) =>
                {
                    Assert.NotNull(c);
                    Assert.Equal(new MultipleRequest(new SeededRequest(typeof(string), null)), r);
                    return expectedResult.Cast<object>();
                };

            ISpecimenBuilderComposer composer = new DelegatingComposer { OnCompose = () => specimenBuilder };
            // Exercise system
            var result = composer.CreateMany<string>();
            // Verify outcome
            Assert.True(expectedResult.SequenceEqual(result));
            // 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
        }