Files
WireMock.Net/test/WireMock.Net.Tests/Matchers/RequestMatchResultTests.cs
Stef Heyenrath 93c87845c2 Write logging in case a Matcher throws an exception (#986)
* ThrowException

* ...

* .

* ...

* b

* fix test

* ...

* .

* sonar

* ft

* .

* fix tst
2023-08-21 20:07:46 +02:00

53 lines
1.5 KiB
C#

using System.Linq;
using FluentAssertions;
using WireMock.Matchers;
using WireMock.Matchers.Request;
using Xunit;
namespace WireMock.Net.Tests.Matchers;
public class RequestMatchResultTests
{
[Fact]
public void CompareTo_WithDifferentAverageScore_ReturnsBestMatch()
{
// Arrange
var result1 = new RequestMatchResult();
result1.AddScore(typeof(WildcardMatcher), 1, null);
result1.AddScore(typeof(WildcardMatcher), 0.9, null);
var result2 = new RequestMatchResult();
result2.AddScore(typeof(LinqMatcher), 1, null);
result2.AddScore(typeof(LinqMatcher), 1, null);
var results = new[] { result1, result2 };
// Act
var best = results.OrderBy(x => x).First();
// Assert
best.Should().Be(result2);
}
[Fact]
public void CompareTo_WithSameAverageScoreButMoreMatchers_ReturnsMatchWithMoreMatchers()
{
// Arrange
var result1 = new RequestMatchResult();
result1.AddScore(typeof(WildcardMatcher), 1, null);
result1.AddScore(typeof(WildcardMatcher), 1, null);
var result2 = new RequestMatchResult();
result2.AddScore(typeof(LinqMatcher), 1, null);
result2.AddScore(typeof(LinqMatcher), 1, null);
result2.AddScore(typeof(LinqMatcher), 1, null);
var results = new[] { result1, result2 };
// Act
var best = results.OrderBy(x => x).First();
// Assert
best.Should().Be(result2);
}
}