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:13
Uncovered lines:0
Coverable lines:13
Total lines:48
Line coverage:100%

Metrics

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

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        /// <summary>
 13        /// The methods
 14        /// </summary>
 14215        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>
 9623        public RequestMessageMethodMatcher([NotNull] params string[] methods)
 9624        {
 9625            Check.NotNull(methods, nameof(methods));
 19526            Methods = methods.Select(v => v.ToLower()).ToArray();
 9627        }
 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)
 14238        {
 14239            double score = IsMatch(requestMessage);
 14240            return requestMatchResult.AddScore(GetType(), score);
 14241        }
 42
 43        private double IsMatch(RequestMessage requestMessage)
 14244        {
 14245            return MatchScores.ToScore(Methods.Contains(requestMessage.Method));
 14246        }
 47    }
 48}