テストで以下を使用しようとすると、このメッセージが表示され続けます。
式の型 'ラムダ式' を戻り値の型 bool に変換できません
問題は回線で発生します。
// x.Send(IsObjectMessageOf(m => weLikeIt));
[Test]
public void should_send_add_comment_message__when_user_adds_comment()
{
Event currentEvent = SampleEventBuilder.PopulatedByNextId()
.NewState()
.BuildDomain();
_repository.Setup(x => x.FindByEventId(It.IsAny<int>()))
.Returns(currentEvent);
var eventComment = AddComment.Create(currentEvent.Key, currentEvent.Id, "comment", Time.Now, "client", Guid.NewGuid());
_handler.Consume(eventComment);
Func<EventComment, bool> weLikeIt = ec => ec.EventId == currentEvent.Id;
_sender.Verify(x =>
{
x.Send(IsObjectMessageOf<EventComment>(m => weLikeIt)); // Bombs Here!
});
}
private static ObjMessage IsObjectMessageOf<T>(Func<T, bool> matcher)
{
return It.Is<ObjMessage>(m => m.Body is T && matcher((T)m.Body));
}