public async Task Queued_initialization_command_is_executed_on_to_first_submission() { var receivedCommands = new List <IKernelCommand>(); var kernel = new FakeKernel { Handle = (command, context) => { receivedCommands.Add(command); return(Task.CompletedTask); } }; using var events = kernel.KernelEvents.ToSubscribedList(); kernel.DeferCommand(new SubmitCode("one")); kernel.DeferCommand(new SubmitCode("two")); await kernel.SendAsync(new SubmitCode("three")); var x = receivedCommands .Select(c => c is SubmitCode submitCode ? submitCode.Code : c.ToString()) .Should() .BeEquivalentSequenceTo("one", "two", "three"); }
public void Deferred_initialization_command_is_not_executed_prior_to_first_submission() { var receivedCommands = new List <IKernelCommand>(); using var kernel = new FakeKernel { Handle = (command, context) => { receivedCommands.Add(command); return(Task.CompletedTask); } }; kernel.DeferCommand(new SubmitCode("hello")); kernel.DeferCommand(new SubmitCode("world!")); receivedCommands.Should().BeEmpty(); }