public async Task EventStream_ToObject__After_specified_date() { string streamName = "Aggregate-1"; int numOfEvents = 2; DateTimeOffset from = new DateTimeOffset(new DateTime(2021, 1, 2, 23, 59, 59, DateTimeKind.Utc)); DateTimeOffset to = default(DateTimeOffset); var target = new EventStream(streamName, streamStore, logger); streamStore.ReadStream(streamName, from, to).Returns(Streams.Aggregate_1.Skip(2).Take(numOfEvents).ToAsyncEnumerable()); var result = await target.After(from).ToObject <Aggregate>(Substitute.ForPartsOf <Aggregate>(), (@event, aggregate) => aggregate.Apply(@event)); result.ReceivedCalls().Count().Should().Be(numOfEvents); Approvals.Verify(JObject.FromObject(result).ToString()); }