示例#1
0
        public void NotebookParseRequest_deserialization_contract()
        {
            var requestJson = GetTestFileContents();
            var request     = NotebookParseOrSerializeRequest.FromJson(requestJson);

            using var _ = new AssertionScope();

            request.Type.Should().Be(RequestType.Parse);
            request.Id.Should().Be("the-id");
            request.SerializationType.Should().Be(DocumentSerializationType.Dib);
            request.DefaultLanguage.Should().Be("csharp");
            request
            .Should()
            .BeOfType <NotebookParseRequest>()
            .Which
            .RawData
            .Should()
            .Equal(new byte[] { 0x01, 0x02, 0x03 });
        }
示例#2
0
        public void NotebookSerializeRequest_deserialization_contract()
        {
            var requestJson = GetTestFileContents();
            var request     = NotebookParseOrSerializeRequest.FromJson(requestJson);

            using var _ = new AssertionScope();

            request.Type.Should().Be(RequestType.Serialize);
            request.Id.Should().Be("the-id");
            request.SerializationType.Should().Be(DocumentSerializationType.Dib);
            request.DefaultLanguage.Should().Be("csharp");
            request
            .Should()
            .BeOfType <NotebookSerializeRequest>();
            var serializeRequest = (NotebookSerializeRequest)request;

            serializeRequest.NewLine.Should().Be("\r\n");
            serializeRequest.Document.Should().BeEquivalentTo(new InteractiveDocument(new List <InteractiveDocumentElement>()
            {
                new InteractiveDocumentElement("csharp", "var x = 1;"),
                new InteractiveDocumentElement("fsharp", "let y = 2"),
            }));
        }