public async Task Can_timeshift_external_event_timeout()
        {
            var client     = new InMemoryOrchestrationClient(typeof(Funcs).Assembly, _services);
            var instanceId = await client
                             .StartNewAsync(nameof(Funcs.DurableFunctionWithExternalEventTimeout), TimeSpanInput.FromMinutes(1));

            await client.Timeshift(instanceId, TimeSpan.FromMinutes(2));

            await client.WaitForOrchestrationToReachStatus(instanceId, OrchestrationRuntimeStatus.Failed);

            var status = await client.GetStatusAsync(instanceId);

            TestUtil.LogHistory(status, Console.Out, true);
            Assert.AreEqual(OrchestrationRuntimeStatus.Failed, status.RuntimeStatus);
        }
        public async Task Can_fast_forward_time()
        {
            var client     = new InMemoryOrchestrationClient(typeof(Funcs).Assembly, _services);
            var instanceId = await client
                             .StartNewAsync(nameof(Funcs.DurableFunctionWithTimer), new DurableFunctionWithTimerInput(TimeSpan.FromHours(1)));

            await client.Timeshift(instanceId, TimeSpan.FromHours(1));

            await client.WaitForOrchestrationToReachStatus(instanceId, OrchestrationRuntimeStatus.Completed);

            var status = await client.GetStatusAsync(instanceId);

            TestUtil.LogHistory(status, Console.Out);
            Assert.AreEqual(OrchestrationRuntimeStatus.Completed, status.RuntimeStatus);
        }