public void ComplexBusinessLogic_Does_What_I_Expect() {
     var dbObjects = new List<DbObject>() {
       // set up any test objects
       new DbObject() { }
     };
 
     // arrange
     // setup Mediator to return our fake objects when it receives a message to perform our query
     // in practice, I find it better to create an extension method that encapsulates this setup here
     _mediator.Setup(x => x.Send(It.IsAny<GetRelevantDbObjectsQuery>(), default(CancellationToken)).ReturnsAsync(dbObjects.ToArray()).Callback(
     (GetRelevantDbObjectsQuery message, CancellationToken token) => {
        // using Moq Callback functionality, you can make assertions
        // on expected request being passed in
        Assert.IsNotNull(message);
     });
 
     // act
     _sut.ComplexBusinessLogic();
 
     // assertions
   }