Exemple #1
0
        public void TransformDocument_TableStartAtBottom_NewPageBeforeTable()
        {
            var sut = new XmlPrinter {
                DocumentHeight = 20
            };

            sut.LoadXml(
                "<root>"
                + "<move relY=\"15\" />"
                + "<table><columns>"
                + "<column width=\"10\">C1</column>"
                + "</columns><data>"
                + "<tr><td>1</td></tr>"
                + "<tr><td>2</td></tr>"
                + "</data></table>"
                + "</root>");

            var graphics = Substitute.For <IGraphics>();

            sut.TransformDocument(graphics);

            XDocument.Parse(sut.Document.OuterXml).Should().BeEquivalentTo(
                XDocument.Parse(
                    "<root>"
                    + "<move relY=\"15\" />"
                    + "<newPage />"
                    + "<text relX=\"0\">C1</text>"
                    + "<move relY=\"4\" />"
                    + "<text relX=\"0\">1</text>"
                    + "<move relY=\"4\" />"
                    + "<text relX=\"0\">2</text>"
                    + "<move relY=\"4\" />"
                    + "</root>"));
        }
Exemple #2
0
        public void TransformDocument_TableTopLine_ConvertedToTexts()
        {
            var sut = new XmlPrinter {
                DocumentHeight = 100
            };

            sut.LoadXml(
                "<root>"
                + "<table><columns>"
                + "<column width=\"10\" topLine=\"true\">C1</column>"
                + "<column width=\"20\">C2</column>"
                + "</columns><data>"
                + "<tr><td>1</td><td>2</td></tr>"
                + "</data></table>"
                + "</root>");

            var graphics = Substitute.For <IGraphics>();

            sut.TransformDocument(graphics);

            XDocument.Parse(sut.Document.OuterXml).Should().BeEquivalentTo(
                XDocument.Parse(
                    "<root>"
                    + "<line relToX=\"10\" />"
                    + "<text relX=\"0\">C1</text>"
                    + "<text relX=\"10\">C2</text>"
                    + "<move relY=\"4\" />"
                    + "<line relToX=\"10\" />"
                    + "<text relX=\"0\">1</text>"
                    + "<text relX=\"10\">2</text>"
                    + "<move relY=\"4\" />"
                    + "</root>"));
        }
Exemple #3
0
        public void TransformDocument_MoveRelativeOnly_CursorUpdated()
        {
            var sut = new XmlPrinter();

            sut.LoadXml("<root><move relX=\"10\" relY=\"20\" /></root>");
            sut.CursorX = 5;
            sut.CursorY = 8;

            var graphics = Substitute.For <IGraphics>();

            sut.TransformDocument(graphics);

            using (new AssertionScope())
            {
                sut.CursorX.Should().Be(15);
                sut.CursorY.Should().Be(28);
            }
        }
Exemple #4
0
        public void TransformDocument_MoveAbsolute_CursorUpdated()
        {
            var sut = new XmlPrinter();

            sut.LoadXml("<root><move absX=\"10\" absY=\"20\" /></root>");
            sut.CursorX = 5;
            sut.CursorY = 8;

            var graphics = Substitute.For <IGraphics>();

            sut.TransformDocument(graphics);

            using (new AssertionScope())
            {
                sut.CursorX.Should().Be(10);
                sut.CursorY.Should().Be(20);
            }
        }
Exemple #5
0
        public void TransformDocument_Rectangle_ConvertedToLines()
        {
            var sut = new XmlPrinter();

            sut.LoadXml("<root><rectangle relFromX=\"10\" relFromY=\"20\" relToX=\"30\" relToY=\"40\" /></root>");

            var graphics = Substitute.For <IGraphics>();

            sut.TransformDocument(graphics);

            XDocument.Parse(sut.Document.OuterXml).Should().BeEquivalentTo(
                XDocument.Parse(
                    "<root>"
                    + "<line relFromX=\"10\" relFromY=\"20\" relToX=\"30\" relToY=\"20\" />"
                    + "<line relFromX=\"30\" relFromY=\"20\" relToX=\"30\" relToY=\"40\" />"
                    + "<line relFromX=\"30\" relFromY=\"40\" relToX=\"10\" relToY=\"40\" />"
                    + "<line relFromX=\"10\" relFromY=\"40\" relToX=\"10\" relToY=\"20\" />"
                    + "</root>"));
        }
Exemple #6
0
        public void TransformDocument_NewPage_CursorReset()
        {
            var sut = new XmlPrinter();

            sut.LoadXml("<root><move absX=\"10\" absY=\"20\" relX=\"3\" relY=\"4\" /><newPage/></root>");

            // initialize cursor with irrelevant values
            sut.CursorX = 5;
            sut.CursorY = 8;

            var graphics = Substitute.For <IGraphics>();

            sut.TransformDocument(graphics);

            using (new AssertionScope())
            {
                sut.CursorX.Should().Be(0);
                sut.CursorY.Should().Be(0);
            }
        }
Exemple #7
0
        public void TransformDocument_PageTexts_ConvertedToLines()
        {
            var sut = new XmlPrinter {
                DocumentHeight = 10
            };

            sut.LoadXml(
                "<root>"
                + "<pageTexts><font><text>page {pageNumber}</text></font></pageTexts>"
                + "<table><columns>"
                + "<column width=\"10\">C1</column>"
                + "</columns><data>"
                + "<tr><td>1</td></tr>"
                + "<tr><td>2</td></tr>"
                + "</data></table>"
                + "</root>");

            var graphics = Substitute.For <IGraphics>();

            sut.TransformDocument(graphics);

            XDocument.Parse(sut.Document.OuterXml).Should().BeEquivalentTo(
                XDocument.Parse(
                    "<root>"
                    + "<font><text>page 1</text></font>"
                    + "<text relX=\"0\">C1</text>"
                    + "<move relY=\"4\" />"
                    + "<text relX=\"0\">1</text>"
                    + "<newPage />"
                    + "<font><text>page 2</text></font>"
                    + "<text relX=\"0\">C1</text>"
                    + "<move relY=\"4\" />"
                    + "<text relX=\"0\">2</text>"
                    + "<move relY=\"4\" />"
                    + "</root>"));
        }