public void ThrowIfNoParameterRuleForMatchParameter( Type type, MethodBase method, Mock <ParameterInfo> parameterMock) { // Arrange var rule = new RegexRule("Throw rule"); // Act/Assert string paramName = Assert.Throws <ArgumentException>(() => rule.MatchParameter(type, method, parameterMock.Object)).ParamName; Assert.Equal("rule", paramName); }
public void NotMatchAParameter( Type type, Mock <MethodBase> methodMock, Mock <ParameterInfo> parameterMock) { // Arrange parameterMock.SetupGet(m => m.Name).Returns("Name" + Guid.NewGuid()); var rule = new RegexRule("Miss rule", parameter: new Regex("Miss")); // Act bool actual = rule.MatchParameter(type, methodMock.Object, parameterMock.Object); // Assert Assert.False(actual); }
public void IgnoreTypeAndMethodRegexIfNullWhenMatchParameter( Type type, Mock <MethodBase> methodMock, Mock <ParameterInfo> parameterMock) { // Arrange parameterMock.SetupGet(p => p.Name).Returns("Name" + Guid.NewGuid()); var rule = new RegexRule(parameterMock.Object.Name + " hit rule", parameter: new Regex(parameterMock.Object.Name)); // Act bool actual = rule.MatchParameter(type, methodMock.Object, parameterMock.Object); // Assert Assert.True(actual); }
public void ApplyTypeRegexIfProvidedWhenMatchParameter( Type type, Mock <MethodBase> methodMock, Mock <ParameterInfo> parameterMock) { // Arrange parameterMock.SetupGet(p => p.Name).Returns("Name" + Guid.NewGuid()); var rule = new RegexRule( methodMock.Object.Name + " hit rule", type: new Regex(Guid.NewGuid().ToString()), parameter: new Regex(parameterMock.Object.Name)); // Act bool actual = rule.MatchParameter(type, methodMock.Object, parameterMock.Object); // Assert Assert.False(actual); }
// ReSharper disable UnusedParameter.Local private void AssertParameterRule(Func <string, Type, string, IRegexFilter> addMethod, ParameterInfo parameter, Type type, MethodBase method, bool expectedInclude) { IRegexFilter actualFilter = addMethod(parameter.Name, type, method == null ? null : method.Name); int expectedRules = 1; if (expectedInclude && method != null) { expectedRules++; } if (expectedInclude && type != null) { expectedRules++; } Assert.Same(addMethod.Target, actualFilter); Assert.Equal(expectedRules, actualFilter.Rules.Count); RegexRule addedRule = actualFilter.ParameterRules.Single(); Assert.Equal(expectedInclude, addedRule.Include); Assert.NotNull(addedRule.Parameter); Assert.True(addedRule.MatchParameter(type ?? GetType(), method ?? new Mock <MethodBase>().Object, parameter)); if (type == null) { Assert.Null(addedRule.Type); } else { Assert.NotNull(addedRule.Type); Assert.True(addedRule.MatchType(type)); } if (method == null) { Assert.Null(addedRule.Method); } else { Assert.NotNull(addedRule.Method); Assert.True(addedRule.MatchMethod(type ?? GetType(), method)); } }
public void ThrowIfNoParameterRuleForMatchParameter( Type type, MethodBase method, Mock<ParameterInfo> parameterMock) { // Arrange var rule = new RegexRule("Throw rule"); // Act/Assert string paramName = Assert.Throws<ArgumentException>(() => rule.MatchParameter(type, method, parameterMock.Object)).ParamName; Assert.Equal("rule", paramName); }
public void NotMatchAParameter( Type type, Mock<MethodBase> methodMock, Mock<ParameterInfo> parameterMock) { // Arrange parameterMock.SetupGet(m => m.Name).Returns("Name" + Guid.NewGuid()); var rule = new RegexRule("Miss rule", parameter: new Regex("Miss")); // Act bool actual = rule.MatchParameter(type, methodMock.Object, parameterMock.Object); // Assert Assert.False(actual); }
public void ApplyMethodRegexIfProvidedWhenMatchParameter( Type type, Mock<MethodBase> methodMock, Mock<ParameterInfo> parameterMock) { // Arrange parameterMock.SetupGet(p => p.Name).Returns("Name" + Guid.NewGuid()); methodMock.SetupGet(p => p.Name).Returns("Name" + Guid.NewGuid()); var rule = new RegexRule( methodMock.Object.Name + " hit rule", method: new Regex(Guid.NewGuid().ToString()), parameter: new Regex(parameterMock.Object.Name)); // Act bool actual = rule.MatchParameter(type, methodMock.Object, parameterMock.Object); // Assert Assert.False(actual); }
public void IgnoreTypeAndMethodRegexIfNullWhenMatchParameter( Type type, Mock<MethodBase> methodMock, Mock<ParameterInfo> parameterMock) { // Arrange parameterMock.SetupGet(p => p.Name).Returns("Name" + Guid.NewGuid()); var rule = new RegexRule(parameterMock.Object.Name + " hit rule", parameter: new Regex(parameterMock.Object.Name)); // Act bool actual = rule.MatchParameter(type, methodMock.Object, parameterMock.Object); // Assert Assert.True(actual); }