public async Task Notebook_parser_server_can_handle_repeated_requests_with_different_newlines(string newline)
        {
            var request1 = new NotebookParseRequest(
                "the-id",
                serializationType: DocumentSerializationType.Dib,
                defaultLanguage: "csharp",
                rawData: Encoding.UTF8.GetBytes("#!csharp\nvar x = 1;"));
            var request2 = new NotebookSerializeRequest(
                "the-second-id",
                serializationType: DocumentSerializationType.Dib,
                defaultLanguage: "csharp",
                newLine: "\n",
                document: new InteractiveDocument(new List <InteractiveDocumentElement>()
            {
                new InteractiveDocumentElement("fsharp", "let y = 2")
            }));
            var fullRequestText = string.Concat(
                request1.ToJson(),
                newline,
                request2.ToJson(),
                newline);

            var asyncEnumerator = GetResponseObjectsEnumerable(fullRequestText).GetAsyncEnumerator();

            var result1 = await asyncEnumerator.GetNextAsync();

            result1
            .Should()
            .BeOfType <NotebookParseResponse>()
            .Which
            .Id
            .Should()
            .Be("the-id");

            var result2 = await asyncEnumerator.GetNextAsync();

            result2
            .Should()
            .BeOfType <NotebookSerializeResponse>()
            .Which
            .Id
            .Should()
            .Be("the-second-id");
        }
Example #2
0
        public void Notebook_parser_server_can_serialize_file_based_on_document_type(DocumentSerializationType serializationType, string expected)
        {
            var request = new NotebookSerializeRequest(
                "the-id",
                serializationType,
                defaultLanguage: "csharp",
                newLine: "\n",
                document: new InteractiveDocument(new List <InteractiveDocumentElement>()
            {
                new InteractiveDocumentElement("csharp", "var x = 1;")
            })
                );
            var response = NotebookParserServer.HandleRequest(request);

            response
            .Should()
            .BeOfType <NotebookSerializeResponse>()
            .Which
            .RawData
            .AsUtf8String()
            .Should()
            .Contain(expected);
        }