public void SutIsSpecimenBuilder()
        {
            // Arrange
            // Act
            var sut = new ConstrainedStringGenerator();

            // Assert
            Assert.IsAssignableFrom <ISpecimenBuilder>(sut);
        }
        public void CreateWithNullContextThrows()
        {
            // Arrange
            var sut     = new ConstrainedStringGenerator();
            var request = new object();

            // Act & assert
            Assert.Throws <ArgumentNullException>(() => sut.Create(request, null));
        }
Esempio n. 3
0
        public void CreateWithNullContextThrows()
        {
            // Fixture setup
            var sut     = new ConstrainedStringGenerator();
            var request = new object();

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(() => sut.Create(request, null));
            // Teardown
        }
Esempio n. 4
0
        public void SutIsSpecimenBuilder()
        {
            // Fixture setup
            // Exercise system
            var sut = new ConstrainedStringGenerator();

            // Verify outcome
            Assert.IsAssignableFrom <ISpecimenBuilder>(sut);
            // Teardown
        }
        public void CreateWithNullRequestReturnsCorrectResult()
        {
            // Arrange
            var sut          = new ConstrainedStringGenerator();
            var dummyContext = new DelegatingSpecimenContext();
            // Act
            var result = sut.Create(null, dummyContext);

            // Assert
            Assert.Equal(new NoSpecimen(), result);
        }
Esempio n. 6
0
        public void CreateWithNullRequestReturnsCorrectResult()
        {
            // Fixture setup
            var sut          = new ConstrainedStringGenerator();
            var dummyContext = new DelegatingSpecimenContext();
            // Exercise system
            var result = sut.Create(null, dummyContext);

            // Verify outcome
            Assert.Equal(new NoSpecimen(), result);
            // Teardown
        }
Esempio n. 7
0
            public TypeWrapper <T> ConstrainStringSize(Expression <Func <T, object> > expr, int maximumLength)
            {
                var property = expr.AsPropertyInfo();

                _builder.SetDefaultBuilder(
                    property,
                    (p, context) =>
                {
                    var stringGenerator          = new ConstrainedStringGenerator();
                    var constrainedStringRequest = new ConstrainedStringRequest(maximumLength);
                    return(stringGenerator.Create(constrainedStringRequest, context));
                });
                return(this);
            }
        public void CreateReturnsStringReceivedFromContext()
        {
            // Arrange
            var    request       = new ConstrainedStringRequest(1, 10);
            object expectedValue = Guid.NewGuid().ToString();
            var    context       = new DelegatingSpecimenContext
            {
                OnResolve = r => typeof(string).Equals(r) ? expectedValue : new NoSpecimen()
            };
            var sut = new ConstrainedStringGenerator();
            // Act & assert
            var result = (string)sut.Create(request, context);

            Assert.Contains(result, expectedValue.ToString());
        }
        public void CreateWithAnonymousRequestReturnsCorrectResult()
        {
            // Fixture setup
            var sut          = new ConstrainedStringGenerator();
            var request      = new object();
            var dummyContext = new DelegatingSpecimenContext();
            // Exercise system
            var result = sut.Create(request, dummyContext);

            // Verify outcome
#pragma warning disable 618
            Assert.Equal(new NoSpecimen(request), result);
#pragma warning restore 618
            // Teardown
        }
        public void CreateReturnsStringWithCorrectLength(int expectedMinimumLength, int expectedMaximumLength)
        {
            // Arrange
            var    request      = new ConstrainedStringRequest(expectedMinimumLength, expectedMaximumLength);
            object contextValue = Guid.NewGuid().ToString();
            var    context      = new DelegatingSpecimenContext
            {
                OnResolve = r => typeof(string).Equals(r) ? contextValue : new NoSpecimen()
            };
            var sut = new ConstrainedStringGenerator();
            // Act
            var result = (string)sut.Create(request, context);

            // Assert
            Assert.True(expectedMinimumLength < result.Length && expectedMaximumLength >= result.Length);
        }
Esempio n. 11
0
        public void CreateReturnsStringReceivedFromContext()
        {
            // Fixture setup
            var    request       = new ConstrainedStringRequest(1, 10);
            object expectedValue = Guid.NewGuid().ToString();
            var    context       = new DelegatingSpecimenContext
            {
                OnResolve = r => typeof(string).Equals(r) ? expectedValue : new NoSpecimen(r)
            };
            var sut = new ConstrainedStringGenerator();
            // Exercise system and verify outcome
            var result = (string)sut.Create(request, context);

            Assert.True(expectedValue.ToString().Contains(result));
            // Teardown
        }
        public void CreateReturnsResultWithCorrectType()
        {
            // Arrange
            var    request      = new ConstrainedStringRequest(1, 10);
            Type   expectedType = typeof(string);
            object contextValue = Guid.NewGuid().ToString();
            var    context      = new DelegatingSpecimenContext
            {
                OnResolve = r => expectedType.Equals(r) ? contextValue : new NoSpecimen()
            };
            var sut = new ConstrainedStringGenerator();
            // Act
            var result = sut.Create(request, context);

            // Assert
            Assert.IsAssignableFrom(expectedType, result);
        }
Esempio n. 13
0
        public void CreateReturnsStringWithCorrectLength(int expectedMinimumLength, int expectedMaximumLength)
        {
            // Fixture setup
            var    request      = new ConstrainedStringRequest(expectedMinimumLength, expectedMaximumLength);
            object contextValue = Guid.NewGuid().ToString();
            var    context      = new DelegatingSpecimenContext
            {
                OnResolve = r => typeof(string).Equals(r) ? contextValue : new NoSpecimen(r)
            };
            var sut = new ConstrainedStringGenerator();
            // Exercise system
            var result = (string)sut.Create(request, context);

            // Verify outcome
            Assert.True(expectedMinimumLength < result.Length && expectedMaximumLength >= result.Length);
            // Teardown
        }
Esempio n. 14
0
        public void CreateReturnsResultWithCorrectType()
        {
            // Fixture setup
            var    request      = new ConstrainedStringRequest(1, 10);
            Type   expectedType = typeof(string);
            object contextValue = Guid.NewGuid().ToString();
            var    context      = new DelegatingSpecimenContext
            {
                OnResolve = r => expectedType.Equals(r) ? contextValue : new NoSpecimen(r)
            };
            var sut = new ConstrainedStringGenerator();
            // Exercise system
            var result = sut.Create(request, context);

            // Verify outcome
            Assert.IsAssignableFrom(expectedType, result);
            // Teardown
        }
#pragma warning disable xUnit1026 // Theory methods should use all of their parameters - the minLength is needed to access the maxLength.
        public void CreateReturnsStringWithCorrectLengthMultipleCall(int minimumLength, int maximumLength)
#pragma warning restore xUnit1026 // Theory methods should use all of their parameters
        {
            // Arrange
            var    request      = new ConstrainedStringRequest(maximumLength);
            object contextValue = Guid.NewGuid().ToString();
            var    context      = new DelegatingSpecimenContext
            {
                OnResolve = r => typeof(string).Equals(r) ? contextValue : new NoSpecimen()
            };
            var sut = new ConstrainedStringGenerator();
            // Act
            var result = from s in Enumerable.Range(1, 30).Select(i => (string)sut.Create(request, context))
                         where s.Length <= request.MinimumLength || s.Length > request.MaximumLength
                         select s;

            // Assert
            Assert.False(result.Any());
        }
Esempio n. 16
0
        public void CreateReturnsStringWithCorrectLengthMultipleCall(int minimumLength, int maximumLength)
        {
            // Fixture setup
            var    request      = new ConstrainedStringRequest(maximumLength);
            object contextValue = Guid.NewGuid().ToString();
            var    context      = new DelegatingSpecimenContext
            {
                OnResolve = r => typeof(string).Equals(r) ? contextValue : new NoSpecimen(r)
            };
            var sut = new ConstrainedStringGenerator();
            // Exercise system
            var result = (from s in Enumerable.Range(1, 30).Select(i => (string)sut.Create(request, context))
                          where (s.Length <= request.MinimumLength || s.Length > request.MaximumLength)
                          select s);

            // Verify outcome
            Assert.False(result.Any());
            // Teardown
        }