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