Я пишу реализацию Akka.NET Testkit, которая использует FluentAssertions под капотом, но не может понять, как написать «последнее» утверждение: Равенство, используя пользовательский компаратор равенства Func (при получении красивого сообщения об ошибке,конечно).
public void AssertEqual<T>(T expected, T actual,
Func<T, T, bool> comparer,
string format = "", params object[] args)
{
// This works, but does not give a good message:
comparer(expected, actual).Should().BeTrue(format, args);
// But this doesn't work at all:
// actual.Should().BeEquivalentTo(expected, options =>
options.Using<T>( x => comparer(x.Subject, expected).Should().BeTrue())
.WhenTypeIs<T>(),
format, args);
}
Я почти уверен, что в ФА должен быть какой-то причудливый способ сделать это, но я не могу его найти.