示例#1
0
        public void ProcessParagraphUnit_WhenSettingsIsEnabled_UpdateSource()
        {
            // Arrange
            var testee = CreateTestee();

            var paragraphUnitMock = A.Fake <IParagraphUnit>();
            var sourceMock        = A.Fake <IParagraph>();

            A.CallTo(() => paragraphUnitMock.Source).Returns(sourceMock);

            var newSourceMock          = A.Fake <IParagraph>();
            var abstractMarkupDataMock = A.Fake <IAbstractMarkupData>();

            A.CallTo(() => newSourceMock.Count).ReturnsNextFromSequence(1, 0);
            A.CallTo(() => newSourceMock[0]).Returns(abstractMarkupDataMock);
            var embeddedContentVisitor = A.Fake <IEmbeddedContentVisitor>();

            A.CallTo(() => embeddedContentVisitor.GeneratedParagraph).Returns(newSourceMock);
            A.CallTo(() => _embeddedContentVisitorFactoryMock.CreateVisitor(A <IDocumentItemFactory> .Ignored, A <IPropertiesFactory> .Ignored, _textProcessorMock)).Returns(embeddedContentVisitor);

            A.CallTo(() => _embeddedContetnRegexSettingsMock.IsEnabled).Returns(true);

            // Act
            testee.ProcessParagraphUnit(paragraphUnitMock);

            // Assert
            A.CallTo(() => sourceMock.Clear()).MustHaveHappened();
            A.CallTo(() => sourceMock.Add(abstractMarkupDataMock)).MustHaveHappened();
        }
        private void ProcessParagraph(IParagraph paragraph)
        {
            var embeddedContentVisitor = _embeddedContentVisitorFactory.CreateVisitor(ItemFactory, ItemFactory.PropertiesFactory, _textProcessor);

            foreach (var item in paragraph)
            {
                item.AcceptVisitor(embeddedContentVisitor);
            }

            var generatedParagraph = embeddedContentVisitor.GeneratedParagraph;

            CopyParagraphContents(generatedParagraph, paragraph);
        }