Summary

Class:WireMock.Matchers.Request.RequestMessageMethodMatcher
Assembly:WireMock.Net
File(s):C:\Users\Stef\Documents\GitHub\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageMethodMatcher.cs
Covered lines:15
Uncovered lines:0
Coverable lines:15
Total lines:52
Line coverage:100%

Metrics

MethodCyclomatic complexity  NPath complexity  Sequence coverage  Branch coverage  
.ctor(...)20100100
GetMatchingScore(...)10100100
IsMatch(...)10100100

File(s)

C:\Users\Stef\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        /// <summary>
 13        /// The methods
 14        /// </summary>
 1515        public string[] Methods { get; }
 16
 17        /// <summary>
 18        /// Initializes a new instance of the <see cref="RequestMessageMethodMatcher"/> class.
 19        /// </summary>
 20        /// <param name="methods">
 21        /// The verb.
 22        /// </param>
 2223        public RequestMessageMethodMatcher([NotNull] params string[] methods)
 2224        {
 2225            Check.NotNull(methods, nameof(methods));
 4426            Methods = methods.Select(v => v.ToLower()).ToArray();
 2227        }
 28
 29        /// <summary>
 30        /// Determines whether the specified RequestMessage is match.
 31        /// </summary>
 32        /// <param name="requestMessage">The RequestMessage.</param>
 33        /// <param name="requestMatchResult">The RequestMatchResult.</param>
 34        /// <returns>
 35        /// A value between 0.0 - 1.0 of the similarity.
 36        /// </returns>
 37        public double GetMatchingScore(RequestMessage requestMessage, RequestMatchResult requestMatchResult)
 1538        {
 1539            double score = IsMatch(requestMessage);
 1540            requestMatchResult.TotalScore += score;
 41
 1542            requestMatchResult.TotalNumber++;
 43
 1544            return score;
 1545        }
 46
 47        private double IsMatch(RequestMessage requestMessage)
 1548        {
 1549            return MatchScores.ToScore(Methods.Contains(requestMessage.Method));
 1550        }
 51    }
 52}