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