Exemplo n.º 1
0
        public static TestDocumentView <PlainTextDocument> SetUp(Alignment alignment = Alignment.Start, string text = null)
        {
            var doc = new PlainTextDocument();

            doc.InsertAt(0, text ?? "Hello World, Here I am. Long text ahead here. This is the first paragraph.\nAfter a line break, we should see a second paragraph in the document.");

            var style      = LayoutTestStyle.Create();
            var textStyles = style.StyleSystem.StylesFor <TextStyleDefinition>();

            var documentView = new TestDocumentView <PlainTextDocument>(new PlainTextDocumentEditor(style));

            documentView.Style.SetValue(textStyles.Alignment, alignment);
            documentView.Style.SetValue(textStyles.Font, style.Style.MediumFont);
            documentView.Document = doc;

            style.StyleResolver.AddRoot(documentView);

            return(documentView);
        }
Exemplo n.º 2
0
        public TestDocumentView <ITextDocument> CreateView()
        {
            IUIStyle style = LayoutTestStyle.Create();

            var chunk0 = Create(0, 5);
            var chunk1 = Create(5, 10);
            var chunk2 = Create(10, 15);

            var rootNode = Substitute.For <ITextNode>();

            rootNode.Count.Returns(2);
            rootNode[0].Returns(chunk0);
            rootNode[1].Returns(chunk1);
            rootNode[2].Returns(chunk2);
            rootNode.Offset.Returns(0);
            rootNode.EndOffset.Returns(10);

            var rootDocument = Substitute.For <ITextDocument>();

            rootDocument.Root.Returns(rootNode);

            var view0 = Substitute.For <ITextView <ITextDocument> >();

            view0.Node.Returns(chunk0);
            view0.Offset.Returns(chunk0.Offset);
            view0.EndOffset.Returns(chunk0.EndOffset);

            var view1 = Substitute.For <ITextView <ITextDocument> >();

            view1.Node.Returns(chunk1);
            view1.Offset.Returns(chunk1.Offset);
            view1.EndOffset.Returns(chunk1.EndOffset);

            var view2 = Substitute.For <ITextView <ITextDocument> >();

            view2.Node.Returns(chunk2);
            view2.Offset.Returns(chunk2.Offset);
            view2.EndOffset.Returns(chunk2.EndOffset);

            var rootView = Substitute.For <ITextView <ITextDocument> >();

            rootView.Node.Returns(rootNode);
            rootView.Count.Returns(3);
            rootView[0].Returns(view0);
            rootView[1].Returns(view1);
            rootView[2].Returns(view2);

            var viewFactory = Substitute.For <ITextNodeViewFactory <ITextDocument> >();

            viewFactory.CreateFor(rootNode, Arg.Any <IStyle>()).Returns(rootView);
            viewFactory.CreateFor(rootNode[0], Arg.Any <IStyle>()).Returns(view0);
            viewFactory.CreateFor(rootNode[1], Arg.Any <IStyle>()).Returns(view1);
            viewFactory.CreateFor(rootNode[2], Arg.Any <IStyle>()).Returns(view2);

            var editor = Substitute.For <IDocumentEditor <DocumentView <ITextDocument>, ITextDocument> >();

            editor.CreateDocument().Returns(rootDocument);
            editor.Style.Returns(style);
            editor.CreateViewFactory().Returns(viewFactory);

            var documentView = new TestDocumentView <ITextDocument>(editor);

            rootNode[0].ClearReceivedCalls();
            rootNode[1].ClearReceivedCalls();
            rootNode[2].ClearReceivedCalls();
            rootNode.ClearReceivedCalls();
            rootDocument.ClearReceivedCalls();
            editor.ClearReceivedCalls();
            rootView.ClearReceivedCalls();
            rootView[0].ClearReceivedCalls();
            rootView[1].ClearReceivedCalls();
            rootView[2].ClearReceivedCalls();
            return(documentView);
        }