private static object CreateAnonymous(RegularExpressionRequest request) { string pattern = request.Pattern; try { string regex = new Xeger(pattern).Generate(); if (Regex.IsMatch(regex, pattern)) { return regex; } } catch (InvalidOperationException) { #pragma warning disable 618 return new NoSpecimen(request); #pragma warning restore 618 } catch (ArgumentException) { #pragma warning disable 618 return new NoSpecimen(request); #pragma warning restore 618 } #pragma warning disable 618 return new NoSpecimen(request); #pragma warning restore 618 }
private object GenerateRegularExpression(RegularExpressionRequest request) { string pattern = request.Pattern; try { // Use the Xeger constructor overload that that takes an instance of Random. // Otherwise identically strings can be generated, if regex are generated within short time. string regex = new Xeger(pattern, new Random(this.GenerateSeed())).Generate(); if (Regex.IsMatch(regex, pattern)) { return(regex); } } catch (InvalidOperationException) { return(new NoSpecimen()); } catch (ArgumentException) { return(new NoSpecimen()); } return(new NoSpecimen()); }
private static object CreateAnonymous(RegularExpressionRequest request) { string pattern = request.Pattern; try { string regex = new Xeger(pattern).Generate(); if (Regex.IsMatch(regex, pattern)) { return(regex); } } catch (InvalidOperationException) { #pragma warning disable 618 return(new NoSpecimen(request)); #pragma warning restore 618 } catch (ArgumentException) { #pragma warning disable 618 return(new NoSpecimen(request)); #pragma warning restore 618 } #pragma warning disable 618 return(new NoSpecimen(request)); #pragma warning restore 618 }
public string GenerateInstance(InstanceGenerator gen) { var request = new RegularExpressionRequest(_pattern); var result = RegexGenerator.Create(request, new DummyContext()); return(result.ToString()); }
public string StringMatching(string pattern) { var request = new RegularExpressionRequest(pattern); var result = _regexGenerator.Create(request, new DummyContext()); return(result.ToString()); }
public void SutIsEquatable() { // Arrange // Act var sut = new RegularExpressionRequest("[0-9]"); // Assert Assert.IsAssignableFrom <IEquatable <RegularExpressionRequest> >(sut); }
public void SutIsEquatable() { // Fixture setup // Exercise system var sut = new RegularExpressionRequest("[0-9]"); // Verify outcome Assert.IsAssignableFrom<IEquatable<RegularExpressionRequest>>(sut); // Teardown }
public void SutIsEquatable() { // Fixture setup // Exercise system var sut = new RegularExpressionRequest("[0-9]"); // Verify outcome Assert.IsAssignableFrom <IEquatable <RegularExpressionRequest> >(sut); // Teardown }
public void PatternIsCorrect(string pattern) { // Fixture setup var sut = new RegularExpressionRequest(pattern); // Exercise system var result = sut.Pattern; // Verify outcome Assert.Equal(pattern, result); // Teardown }
public void SutDoesNotEqualNullObject() { // Fixture setup var sut = new RegularExpressionRequest("[0-9]"); object other = null; // Exercise system var result = sut.Equals(other); // Verify outcome Assert.False(result); }
public void PatternIsCorrect(string pattern) { // Arrange var sut = new RegularExpressionRequest(pattern); // Act var result = sut.Pattern; // Assert Assert.Equal(pattern, result); }
public void SutDoesNotEqualAnonymousObject() { // Arrange var sut = new RegularExpressionRequest("[0-9]"); object anonymousObject = new ConcreteType(); // Act var result = sut.Equals(anonymousObject); // Assert Assert.False(result); }
public void SutDoesNotEqualNullSut() { // Arrange var sut = new RegularExpressionRequest("[0-9]"); RegularExpressionRequest other = null; // Act var result = sut.Equals(other); // Assert Assert.False(result); }
public void SutDoesNotEqualAnonymousObject() { // Fixture setup var sut = new RegularExpressionRequest("[0-9]"); object anonymousObject = new FileStyleUriParser(); // Exercise system var result = sut.Equals(anonymousObject); // Verify outcome Assert.False(result); // Teardown }
public void SutEqualsOtherSutWhenPatternsMatch() { // Arrange var sut = new RegularExpressionRequest("[0-9]"); var other = new RegularExpressionRequest("[0-9]"); // Act var result = sut.Equals(other); // Assert Assert.True(result, "Equals"); }
public void SutDoesNotEqualOtherSutWhenPatternsAreDifferent() { // Arrange var sut = new RegularExpressionRequest("[0-9]"); var other = new RegularExpressionRequest("[A-Z]"); // Act var result = sut.Equals(other); // Assert Assert.False(result, "Equals"); }
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)); }
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); }
public void SutEqualsOtherSutWhenPatternsMatch() { // Fixture setup var sut = new RegularExpressionRequest("[0-9]"); var other = new RegularExpressionRequest("[0-9]"); // Exercise system var result = sut.Equals(other); // Verify outcome Assert.True(result, "Equals"); // Teardown }
public object Create(string pattern) { try { var request = new RegularExpressionRequest(pattern); return(_regexGenerator.Create(request, new DummyContext())); } catch (ObjectCreationException e) { throw new ThirdPartyGeneratorFailed(e); } }
public void SutDoesNotEqualOtherObjectWhenPatternsAreDifferent() { // Fixture setup var sut = new RegularExpressionRequest("[0-9]"); object other = new RegularExpressionRequest("[A-Z]"); // Exercise system var result = sut.Equals(other); // Verify outcome Assert.False(result); // Teardown }
public void SutDoesNotEqualAnonymousObject() { // Fixture setup var sut = new RegularExpressionRequest("[0-9]"); object anonymousObject = new ConcreteType(); // Exercise system var result = sut.Equals(anonymousObject); // Verify outcome Assert.False(result); // Teardown }
public void GetHashCodeReturnsCorrectResult() { // Arrange string pattern = "[0-9]"; var sut = new RegularExpressionRequest(pattern); var expectedHashCode = pattern.GetHashCode(); // Act var result = sut.GetHashCode(); // Assert Assert.Equal(expectedHashCode, result); }
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 }
public void GetHashCodeReturnsCorrectResult() { // Fixture setup string pattern = "[0-9]"; var sut = new RegularExpressionRequest(pattern); var expectedHashCode = pattern.GetHashCode(); // Exercise system var result = sut.GetHashCode(); // Verify outcome Assert.Equal(expectedHashCode, result); // Teardown }
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 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); }
public void CreateWithRegularExpressionAttributeRequestReturnsCorrectResult(string pattern) { // Arrange var regularExpressionAttribute = new RegularExpressionAttribute(pattern); var providedAttribute = new ProvidedAttribute(regularExpressionAttribute, true); var request = new FakeMemberInfo(providedAttribute); var expectedRequest = new RegularExpressionRequest(regularExpressionAttribute.Pattern); var expectedResult = new object(); var context = new DelegatingSpecimenContext { OnResolve = r => expectedRequest.Equals(r) ? expectedResult : new NoSpecimen() }; var sut = new RegularExpressionAttributeRelay(); // Act var result = sut.Create(request, context); // Assert Assert.Equal(expectedResult, result); }
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()); }
public void CreateWithRegularExpressionAttributeRequestReturnsCorrectResult(string pattern) { // Fixture setup var regularExpressionAttribute = new RegularExpressionAttribute(pattern); var providedAttribute = new ProvidedAttribute(regularExpressionAttribute, true); var request = new FakeMemberInfo(providedAttribute); var expectedRequest = new RegularExpressionRequest(regularExpressionAttribute.Pattern); var expectedResult = new object(); var context = new DelegatingSpecimenContext { OnResolve = r => expectedRequest.Equals(r) ? expectedResult : new NoSpecimen() }; var sut = new RegularExpressionAttributeRelay(); // Exercise system var result = sut.Create(request, context); // Verify outcome Assert.Equal(expectedResult, result); // Teardown }
private static object GenerateRegularExpression(RegularExpressionRequest request) { string pattern = request.Pattern; try { string regex = new Xeger(pattern).Generate(); if (Regex.IsMatch(regex, pattern)) { return(regex); } } catch (InvalidOperationException) { return(new NoSpecimen()); } catch (ArgumentException) { return(new NoSpecimen()); } return(new NoSpecimen()); }
public void CreateWithRegularExpressionAttributeRequestReturnsCorrectResult(string pattern) { // Fixture setup var regularExpressionAttribute = new RegularExpressionAttribute(pattern); var providedAttribute = new ProvidedAttribute(regularExpressionAttribute, true); ICustomAttributeProvider request = new FakeCustomAttributeProvider(providedAttribute); var expectedRequest = new RegularExpressionRequest(regularExpressionAttribute.Pattern); var expectedResult = new object(); var context = new DelegatingSpecimenContext { #pragma warning disable 618 OnResolve = r => expectedRequest.Equals(r) ? expectedResult : new NoSpecimen(r) #pragma warning restore 618 }; var sut = new RegularExpressionAttributeRelay(); // Exercise system var result = sut.Create(request, context); // Verify outcome Assert.Equal(expectedResult, result); // Teardown }
public void SutDoesNotEqualOtherSutWhenPatternsAreDifferent() { // Fixture setup var sut = new RegularExpressionRequest("[0-9]"); var other = new RegularExpressionRequest("[A-Z]"); // Exercise system var result = sut.Equals(other); // Verify outcome Assert.False(result, "Equals"); // Teardown }
//[ModelVerifyFilter] 这里用全局的 public async Task <BaseResponse> TestPost([FromBody] RegularExpressionRequest request) { return(BaseResponse.Ok()); }