Ejemplo n.º 1
0
        public void SutIsSpecimenBuilder()
        {
            // Arrange
            var dummySpecimen = new object();
            // Act
            var sut = new FixedBuilder(dummySpecimen);

            // Assert
            Assert.IsAssignableFrom <ISpecimenBuilder>(sut);
        }
Ejemplo n.º 2
0
        public void SutIsSpecimenBuilder()
        {
            // Fixture setup
            var dummySpecimen = new object();
            // Exercise system
            var sut = new FixedBuilder(dummySpecimen);

            // Verify outcome
            Assert.IsAssignableFrom <ISpecimenBuilder>(sut);
            // Teardown
        }
Ejemplo n.º 3
0
        public void CreateReturnsCorrectResult()
        {
            // Arrange
            var expectedSpecimen = new object();
            var sut = new FixedBuilder(expectedSpecimen);
            // Act
            var dummyRequest = new object();
            var dummyContext = new DelegatingSpecimenContext();
            var result       = sut.Create(dummyRequest, dummyContext);

            // Assert
            Assert.Equal(expectedSpecimen, result);
        }
Ejemplo n.º 4
0
        public void CreateReturnsCorrectResult()
        {
            // Fixture setup
            var expectedSpecimen = new object();
            var sut = new FixedBuilder(expectedSpecimen);
            // Exercise system
            var dummyRequest = new object();
            var dummyContext = new DelegatingSpecimenContext();
            var result       = sut.Create(dummyRequest, dummyContext);

            // Verify outcome
            Assert.Equal(expectedSpecimen, result);
            // Teardown
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
        /// <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(nameof(fixture));
            }

            var specimen = fixture.Create(
                this.TargetType);
            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);
        }
Ejemplo n.º 7
0
        /// <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 = fixture.CreateAnonymous(
                this.targetType);
            var fixedBuilder = new FixedBuilder(specimen);

            var types = new[]
            {
                this.targetType,
                this.registeredType
            };

            var builder = new CompositeSpecimenBuilder(
                from t in types
                select new TypedBuilderComposer(
                    t, fixedBuilder).Compose());

            fixture.Customizations.Insert(0, builder);
        }