/// <summary>
 /// Default constructor.
 /// </summary>
 public AnonymousValueFixture()
 {
     LocalValueSuppliers = new List <IAnonymousValueSupplier>();
     Fixture             = new Fixture();
     Bag            = new NullingExpandoObject();
     RegexGenerator = new RegularExpressionGenerator();
 }
Example #2
0
        public void SutIsSpecimenBuilder()
        {
            // Arrange
            // Act
            var sut = new RegularExpressionGenerator();

            // Assert
            Assert.IsAssignableFrom <ISpecimenBuilder>(sut);
        }
Example #3
0
        public void SutIsSpecimenBuilder()
        {
            // Fixture setup
            // Exercise system
            var sut = new RegularExpressionGenerator();

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

            // Assert
            Assert.Equal(new NoSpecimen(), result);
        }
Example #5
0
        public void CreateWithNullRequestReturnsCorrectResult()
        {
            // Fixture setup
            var sut          = new RegularExpressionGenerator();
            var dummyContext = new DelegatingSpecimenContext();
            // Exercise system
            var result = sut.Create(null, dummyContext);

            // Verify outcome
            Assert.Equal(new NoSpecimen(), result);
            // Teardown
        }
Example #6
0
        public void CreateWithRegularExpressionRequestReturnsCorrectResult(string pattern)
        {
            // Arrange
            var sut          = new RegularExpressionGenerator();
            var request      = new RegularExpressionRequest(pattern);
            var dummyContext = new DelegatingSpecimenContext();
            // Act
            var result = sut.Create(request, dummyContext);

            // Assert
            Assert.True(Regex.IsMatch(result.ToString(), pattern), string.Format("result: {0}", result));
        }
Example #7
0
        public void CreateWithNotSupportedRegularExpressionRequestReturnsCorrectResult(string pattern)
        {
            // Arrange
            var sut          = new RegularExpressionGenerator();
            var request      = new RegularExpressionRequest(pattern);
            var dummyContext = new DelegatingSpecimenContext();
            // Act
            var result = sut.Create(request, dummyContext);

            // Assert
            Assert.Equal(new NoSpecimen(), result);
        }
Example #8
0
        public void CreateWithNotSupportedRegularExpressionRequestReturnsCorrectResult(string pattern)
        {
            // Fixture setup
            var sut          = new RegularExpressionGenerator();
            var request      = new RegularExpressionRequest(pattern);
            var dummyContext = new DelegatingSpecimenContext();
            // Exercise system
            var result = sut.Create(request, dummyContext);

            // Verify outcome
            Assert.Equal(new NoSpecimen(request), result);
            // Teardown
        }
Example #9
0
        public void CreateWithRegularExpressionRequestReturnsCorrectResult(string pattern)
        {
            // Fixture setup
            var sut          = new RegularExpressionGenerator();
            var request      = new RegularExpressionRequest(pattern);
            var dummyContext = new DelegatingSpecimenContext();
            // Exercise system
            var result = sut.Create(request, dummyContext);

            // Verify outcome
            Assert.True(Regex.IsMatch(result.ToString(), pattern), string.Format("result: {0}", result));
            // Teardown
        }
        public void CreateWithAnonymousRequestReturnsCorrectResult()
        {
            // Fixture setup
            var sut          = new RegularExpressionGenerator();
            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
        }
Example #11
0
        public void CreateMultipleWithRegularExpressionRequestReturnsDifferentResults(string pattern)
        {
            // This test exposes an issue with Xeger/Random.
            // Xeger(pattern) internally creates an instance of Random with the default seed.
            // This means that the RegularExpressionGenerator might create identical strings
            // if called multiple times within a short time.

            // Arrange
            var sut          = new RegularExpressionGenerator();
            var request      = new RegularExpressionRequest(pattern);
            var dummyContext = new DelegatingSpecimenContext();

            // Repeat a few times to make the test more robust.
            // Use ToArray to iterate the IEnumerable at this point.
            var result = Enumerable.Range(0, 10).Select(_ => sut.Create(request, dummyContext)).ToArray();

            Assert.Equal(result.Distinct(), result);
        }
Example #12
0
        public object Create(object request, ISpecimenContext context)
        {
            var pi = request as ParameterInfo;

            if (pi == null)
            {
                return(new NoSpecimen());
            }

            if (pi.ParameterType == typeof(string) && pi.Name == _memberName)
            {
                var generator    = new RegularExpressionGenerator();
                var regExRequest = new RegularExpressionRequest(_pattern);
                var result       = generator.Create(regExRequest, context);
                return(result.ToString());
            }

            return(new NoSpecimen());
        }