Exemplo n.º 1
0
        public void TryCreateSortedLineRanges_ReturnsLineRangesIfItIsInOrder()
        {
            // Arrange
            var dummyLineRanges = new ReadOnlyCollection <LineRange>(new List <LineRange>()
            {
                new LineRange(endLine: 9),
                new LineRange(startLine: 8, endLine: 10),
                new LineRange(startLine: 12, endLine: 15)
            });
            FlexiCodeBlockFactory testSubject = CreateFlexiCodeBlockFactory();

            // Act
            ReadOnlyCollection <LineRange> result = testSubject.TryCreateSortedLineRanges(dummyLineRanges, 100);

            // Assert
            Assert.Same(dummyLineRanges, result);
        }
Exemplo n.º 2
0
        public void TryCreateSortedLineRanges_ReturnsSortedCollectionIfLineRangesIsNotInOrder()
        {
            // Arrange
            var dummyLineRange1 = new LineRange(endLine: 9);
            var dummyLineRange2 = new LineRange(startLine: 8, endLine: 10);
            var dummyLineRange3 = new LineRange(startLine: 12, endLine: 15);
            var dummyLineRanges = new ReadOnlyCollection <LineRange>(new List <LineRange>()
            {
                dummyLineRange2,
                dummyLineRange3,
                dummyLineRange1
            });
            FlexiCodeBlockFactory testSubject = CreateFlexiCodeBlockFactory();

            // Act
            ReadOnlyCollection <LineRange> result = testSubject.TryCreateSortedLineRanges(dummyLineRanges, 100);

            // Assert
            Assert.Equal(3, result.Count);
            Assert.Same(dummyLineRange1, result[0]);
            Assert.Same(dummyLineRange2, result[1]);
            Assert.Same(dummyLineRange3, result[2]);
        }
Exemplo n.º 3
0
        public void CreateProxyLeafBlock_CreatesProxyLeafBlock()
        {
            // Arrange
            const int      dummyColumn         = 2;
            const int      dummyLineStart      = 7;
            const int      dummyLineEnd        = 99;
            BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor();

            dummyBlockProcessor.Column = dummyColumn;
            dummyBlockProcessor.Line   = new StringSlice("", dummyLineStart, dummyLineEnd);
            Mock <BlockParser>    dummyBlockParser = _mockRepository.Create <BlockParser>();
            FlexiCodeBlockFactory testSubject      = CreateFlexiCodeBlockFactory();

            // Act
            ProxyLeafBlock result = testSubject.CreateProxyLeafBlock(dummyBlockProcessor, dummyBlockParser.Object);

            // Assert
            Assert.Equal(dummyColumn, result.Column);
            Assert.Equal(dummyLineStart, result.Span.Start);
            Assert.Equal(dummyLineEnd, result.Span.End);
            Assert.Same(dummyBlockParser.Object, result.Parser);
            Assert.Equal(nameof(FlexiCodeBlock), result.MainTypeName);
        }