public async Task Stream_Trace_default_behavior_can_be_overridden() { IStreamQuery <int> receivedSendQuery = null; IStreamQuery <int> receivedResultsQuery = null; IStreamBatch <int> receivedBatch = null; var stream = Enumerable.Range(1, 1000) .AsStream() .Trace(onSendQuery: q => { receivedSendQuery = q; }, onResults: (q, b) => { receivedResultsQuery = q; receivedBatch = b; }); var sentQuery = stream.CreateQuery(Cursor.New(15), batchSize: 3); await sentQuery.NextBatch(); receivedSendQuery.Should().BeSameAs(sentQuery); receivedResultsQuery.Should().BeSameAs(sentQuery); receivedBatch.Count().Should().Be(3); receivedBatch.Should().ContainInOrder(16, 17, 18); }