Add some more tests

This commit is contained in:
Stef Heyenrath
2018-03-14 21:24:20 +01:00
parent c2183ab40c
commit 15500a812c
10 changed files with 202 additions and 9 deletions

View File

@@ -0,0 +1,13 @@
namespace WireMock.Matchers
{
/// <summary>
/// IIgnoreCaseMatcher
/// </summary>
public interface IIgnoreCaseMatcher : IMatcher
{
/// <summary>
/// Ignore the case.
/// </summary>
bool IgnoreCase { get; }
}
}

View File

@@ -10,7 +10,7 @@ namespace WireMock.Matchers
/// Regular Expression Matcher
/// </summary>
/// <seealso cref="IStringMatcher" />
public class RegexMatcher : IStringMatcher
public class RegexMatcher : IStringMatcher, IIgnoreCaseMatcher
{
private readonly string[] _patterns;
private readonly Regex[] _expressions;
@@ -34,6 +34,7 @@ namespace WireMock.Matchers
Check.NotNull(patterns, nameof(patterns));
_patterns = patterns;
IgnoreCase = ignoreCase;
RegexOptions options = RegexOptions.Compiled;
if (ignoreCase)
@@ -73,5 +74,8 @@ namespace WireMock.Matchers
{
return "RegexMatcher";
}
/// <inheritdoc cref="IIgnoreCaseMatcher.IgnoreCase"/>
public bool IgnoreCase { get; }
}
}

View File

@@ -104,15 +104,13 @@ namespace WireMock.Matchers.Request
{
if (requestMessage.Body != null)
{
var stringMatcher = Matcher as IStringMatcher;
if (stringMatcher != null)
if (Matcher is IStringMatcher stringMatcher)
{
return stringMatcher.IsMatch(requestMessage.Body);
}
}
var objectMatcher = Matcher as IObjectMatcher;
if (objectMatcher != null)
if (Matcher is IObjectMatcher objectMatcher)
{
if (requestMessage.BodyAsJson != null)
{

View File

@@ -147,7 +147,7 @@ namespace WireMock.Serialization
return newDictionary;
}
private static string[] Map<T>([CanBeNull] IEnumerable<Func<T, bool>> funcs)
{

View File

@@ -20,15 +20,16 @@ namespace WireMock.Serialization
return null;
}
IStringMatcher stringMatcher = matcher as IStringMatcher;
string[] patterns = stringMatcher != null ? stringMatcher.GetPatterns() : new string[0];
string[] patterns = matcher is IStringMatcher stringMatcher ? stringMatcher.GetPatterns() : new string[0];
bool? ignorecase = matcher is IIgnoreCaseMatcher ignoreCaseMatcher ? ignoreCaseMatcher.IgnoreCase : (bool?)null;
return new MatcherModel
{
IgnoreCase = ignorecase,
Name = matcher.GetName(),
Pattern = patterns.Length == 1 ? patterns.First() : null,
Patterns = patterns.Length > 1 ? patterns : null
};
}
}
}
}