public void TryOpenBlock_ReturnsBlockStateNoneIfCurrentLineHasCodeIndent()
        {
            // Arrange
            BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor();

            dummyBlockProcessor.Column = 4; // IsCodeIndent is an expression bodied member that derives its value from Column
            ExposedFlexiSectionBlockParser testSubject = CreateExposedFlexiSectionBlockParser();

            // Act
            BlockState result = testSubject.ExposedTryOpenBlock(dummyBlockProcessor);

            // Assert
            Assert.Equal(BlockState.None, result);
        }
        public void TryOpenBlock_ReturnsBlockStateNoneIfLineDoesNotStartWithTheExpectedCharacters(string dummyLineText)
        {
            // Arrange
            BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor();

            dummyBlockProcessor.Line = new StringSlice(dummyLineText);
            ExposedFlexiSectionBlockParser testSubject = CreateExposedFlexiSectionBlockParser();

            // Act
            BlockState result = testSubject.ExposedTryOpenBlock(dummyBlockProcessor);

            // Assert
            Assert.Equal(BlockState.None, result);
        }
        public void TryContinueBlock_ContinuesBlock()
        {
            // Arrange
            FlexiSectionBlock dummyFlexiSectionBlock = CreateFlexiSectionBlock();

            dummyFlexiSectionBlock.IsOpen = false; // Set to false so we can verify that it gets set to true
            ExposedFlexiSectionBlockParser testSubject = CreateExposedFlexiSectionBlockParser();

            // Act
            BlockState result = testSubject.ExposedTryContinueBlock(null, dummyFlexiSectionBlock);

            // Assert
            Assert.Equal(BlockState.Skip, result);
            Assert.True(dummyFlexiSectionBlock.IsOpen);
        }