Summary

Class:WireMock.Matchers.Request.RequestMessageMethodMatcher
Assembly:WireMock.Net
File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageMethodMatcher.cs
Covered lines:14
Uncovered lines:0
Coverable lines:14
Total lines:44
Line coverage:100%
Branch coverage:100%

Metrics

MethodCyclomatic complexity NPath complexity Sequence coverage Branch coverage
GetMatchingScore(...)0010
IsMatch(...)0010
.ctor(...)0011

File(s)

C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageMethodMatcher.cs

#LineLine coverage
 1using System.Linq;
 2using JetBrains.Annotations;
 3using WireMock.Validation;
 4
 5namespace WireMock.Matchers.Request
 6{
 7    /// <summary>
 8    /// The request verb matcher.
 9    /// </summary>
 10    internal class RequestMessageMethodMatcher : IRequestMatcher
 11    {
 12        private readonly MatchBehaviour _matchBehaviour;
 13
 14        /// <summary>
 15        /// The methods
 16        /// </summary>
 29217        public string[] Methods { get; }
 18
 19        /// <summary>
 20        /// Initializes a new instance of the <see cref="RequestMessageMethodMatcher"/> class.
 21        /// </summary>
 22        /// <param name="matchBehaviour">The match behaviour.</param>
 23        /// <param name="methods">The methods.</param>
 20024        public RequestMessageMethodMatcher(MatchBehaviour matchBehaviour, [NotNull] params string[] methods)
 20025        {
 20026            Check.NotNull(methods, nameof(methods));
 20027            _matchBehaviour = matchBehaviour;
 28
 40829            Methods = methods.Select(v => v.ToLower()).ToArray();
 20030        }
 31
 32        /// <inheritdoc cref="IRequestMatcher.GetMatchingScore"/>
 33        public double GetMatchingScore(RequestMessage requestMessage, RequestMatchResult requestMatchResult)
 29234        {
 29235            double score = MatchBehaviourHelper.Convert(_matchBehaviour, IsMatch(requestMessage));
 29236            return requestMatchResult.AddScore(GetType(), score);
 29237        }
 38
 39        private double IsMatch(RequestMessage requestMessage)
 29240        {
 29241            return MatchScores.ToScore(Methods.Contains(requestMessage.Method));
 29242        }
 43    }
 44}