public async Task handles_isCompleteRequest()
 {
     var kernel  = new CSharpKernel();
     var handler = new IsCompleteRequestHandler(kernel);
     var request = Message.Create(new IsCompleteRequest("var a =12;"), null);
     await handler.Handle(new JupyterRequestContext(_serverChannel, _ioPubChannel, request, _kernelStatus));
 }
        public void cannot_handle_requests_that_are_not_ExecuteRequest()
        {
            var         kernel          = new CSharpKernel();
            var         handler         = new IsCompleteRequestHandler(kernel);
            var         request         = Message.Create(new DisplayData(), null);
            Func <Task> messageHandling = () => handler.Handle(new JupyterRequestContext(_serverChannel, _ioPubChannel, request, _kernelStatus));

            messageHandling.Should().ThrowExactly <InvalidOperationException>();
        }
        public async Task sends_isCompleteReply_with_incomplete_and_indent_if_the_code_is_not_a_complete_submission()
        {
            var kernel  = new CSharpKernel();
            var handler = new IsCompleteRequestHandler(kernel);
            var request = Message.Create(new IsCompleteRequest("var a = 12"), null);
            await handler.Handle(new JupyterRequestContext(_serverChannel, _ioPubChannel, request, _kernelStatus));

            _serverRecordingSocket.DecodedMessages.SingleOrDefault(message =>
                                                                   message.Contains(MessageTypeValues.IsCompleteReply))
            .Should()
            .NotBeNullOrWhiteSpace();

            _serverRecordingSocket.DecodedMessages
            .SingleOrDefault(m => m == new IsCompleteReply("*", "incomplete").ToJson())
            .Should()
            .NotBeNullOrWhiteSpace();
        }