コード例 #1
0
 def test_write_title(self, bar_chart, root_xml):
     cw = BarChartWriter(bar_chart)
     cw._write_title(root_xml)
     expected = """
     <test xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart">
     <c:title>
       <c:tx>
         <c:rich>
           <a:bodyPr/>
           <a:lstStyle/>
           <a:p>
             <a:pPr>
               <a:defRPr/>
             </a:pPr>
             <a:r>
               <a:rPr lang="en-GB"/>
               <a:t>TITLE</a:t>
             </a:r>
           </a:p>
         </c:rich>
       </c:tx>
       <c:layout/>
     </c:title>
     </test>
     """
     xml = tostring(root_xml)
     diff = compare_xml(xml, expected)
     assert diff is None, diff
コード例 #2
0
 def test_write_series(self, bar_chart, root_xml):
     cw = BarChartWriter(bar_chart)
     cw._write_series(root_xml)
     expected = """
     <test xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart">
       <c:ser>
         <c:idx val="0"/>
         <c:order val="0"/>
         <c:spPr>
           <a:solidFill>
             <a:srgbClr val="00FF00"/>
           </a:solidFill>
           <a:ln>
             <a:solidFill>
               <a:srgbClr val="00FF00"/>
             </a:solidFill>
           </a:ln>
         </c:spPr>
         <c:val>
           <c:numRef>
             <c:f>'data'!$A$1:$A$11</c:f>
           </c:numRef>
         </c:val>
       </c:ser>
     </test>
     """
     xml = tostring(root_xml)
     diff = compare_xml(xml, expected)
     assert diff is None, diff
コード例 #3
0
ファイル: test_bar.py プロジェクト: theorchard/openpyxl
 def test_write_chart(self, bar_chart):
     """check if some characteristic tags of LineChart are there"""
     cw = BarChartWriter(bar_chart)
     cw._write_chart()
     tagnames = ["{%s}barChart" % CHART_NS, "{%s}valAx" % CHART_NS, "{%s}catAx" % CHART_NS]
     root = safe_iterator(cw.root)
     chart_tags = [e.tag for e in root]
     for tag in tagnames:
         assert tag in chart_tags
コード例 #4
0
 def test_write_rels(self, bar_chart):
     cw = BarChartWriter(bar_chart)
     xml = cw.write_rels(1)
     expected = """
     <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
       <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes" Target="../drawings/drawing1.xml"/>
     </Relationships>
     """
     diff = compare_xml(xml, expected)
     assert diff is None, diff
コード例 #5
0
ファイル: test_bar.py プロジェクト: theorchard/openpyxl
 def test_serialised(self, bar_chart, datadir):
     """Check the serialised file against sample"""
     cw = BarChartWriter(bar_chart)
     xml = cw.write()
     tree = fromstring(xml)
     chart_schema.assertValid(tree)
     datadir.chdir()
     with open("BarChart.xml") as expected:
         diff = compare_xml(xml, expected.read())
     assert diff is None, diff
コード例 #6
0
 def test_serialised(self, bar_chart, datadir):
     """Check the serialised file against sample"""
     cw = BarChartWriter(bar_chart)
     xml = cw.write()
     tree = fromstring(xml)
     chart_schema.assertValid(tree)
     datadir.chdir()
     with open("BarChart.xml") as expected:
         diff = compare_xml(xml, expected.read())
     assert diff is None, diff
コード例 #7
0
 def test_write_legend(self, bar_chart, root_xml):
     cw = BarChartWriter(bar_chart)
     cw._write_legend(root_xml)
     expected = """
     <test xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart">
       <c:legend>
         <c:legendPos val="r" /><c:layout />
       </c:legend>
     </test>"""
     xml = tostring(root_xml)
     diff = compare_xml(xml, expected)
     assert diff is None, diff
コード例 #8
0
 def test_write_chart(self, bar_chart):
     """check if some characteristic tags of LineChart are there"""
     cw = BarChartWriter(bar_chart)
     cw._write_chart()
     tagnames = [
         '{%s}barChart' % CHART_NS,
         '{%s}valAx' % CHART_NS,
         '{%s}catAx' % CHART_NS
     ]
     root = safe_iterator(cw.root)
     chart_tags = [e.tag for e in root]
     for tag in tagnames:
         assert tag in chart_tags
コード例 #9
0
 def test_write_print_settings(self, bar_chart):
     cw = BarChartWriter(bar_chart)
     cw._write_print_settings()
     tagnames = ['test',
                 '{%s}printSettings' % CHART_NS,
                 '{%s}headerFooter' % CHART_NS,
                 '{%s}pageMargins' % CHART_NS,
                 '{%s}pageSetup' % CHART_NS]
     for e in cw.root:
         assert e.tag in tagnames
         if e.tag == "{%s}pageMargins" % CHART_NS:
             assert e.keys() == list(bar_chart.print_margins.keys())
             for k, v in e.items():
                 assert float(v) == bar_chart.print_margins[k]
         else:
             assert e.text == None
             assert e.attrib == {}
コード例 #10
0
 def test_label_no_number_format(self, ten_column_sheet, Reference, Series, BarChart, root_xml):
     ws = ten_column_sheet
     for i in range(10):
         ws.append([i, i])
     labels = Reference(ws, (1,1), (1,10))
     values = Reference(ws, (1,1), (1,10))
     serie = Series(values=values, labels=labels)
     c = BarChart()
     c.add_serie(serie)
     cw = BarChartWriter(c)
     cw._write_serial(root_xml, c.series[0].labels)
     expected = """
     <test xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart">
       <c:numRef>
         <c:f>'data'!$A$1:$J$1</c:f>
       </c:numRef>
     </test>
     """
     xml = tostring(root_xml)
     diff = compare_xml(xml, expected)
     assert diff is None, diff
コード例 #11
0
 def test_write_yaxis(self, bar_chart, root_xml):
     cw = BarChartWriter(bar_chart)
     cw._write_axis(root_xml, bar_chart.y_axis, '{%s}valAx' % CHART_NS)
     expected = """
     <test xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart">
       <c:valAx>
         <c:axId val="60873344"/>
         <c:scaling>
           <c:orientation val="minMax"/>
         </c:scaling>
         <c:axPos val="l"/>
         <c:majorGridlines/>
         <c:numFmt formatCode="General" sourceLinked="1"/>
         <c:tickLblPos val="nextTo"/>
         <c:crossAx val="60871424"/>
         <c:crosses val="autoZero"/>
         <c:crossBetween val="between"/>
       </c:valAx>
     </test>
     """
     xml = tostring(root_xml)
     diff = compare_xml(xml, expected)
     assert diff is None, diff
コード例 #12
0
    def test_write_chart(self, bar_chart):
        cw = BarChartWriter(bar_chart)
        cw._write_chart()
        assert chart_schema.validate(cw.root)

        expected = """
        <c:chartSpace xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart">
          <c:chart>
            <c:title>
              <c:tx>
                <c:rich>
                  <a:bodyPr/>
                  <a:lstStyle/>
                  <a:p>
                    <a:pPr>
                      <a:defRPr/>
                    </a:pPr>
                    <a:r>
                      <a:rPr lang="en-GB"/>
                      <a:t>TITLE</a:t>
                    </a:r>
                  </a:p>
                </c:rich>
              </c:tx>
              <c:layout/>
            </c:title>
            <c:plotArea>
              <c:layout>
                <c:manualLayout>
                  <c:layoutTarget val="inner"/>
                  <c:xMode val="edge"/>
                  <c:yMode val="edge"/>
                  <c:x val="0.03375"/>
                  <c:y val="0.31"/>
                  <c:w val="0.6"/>
                  <c:h val="0.6"/>
                </c:manualLayout>
              </c:layout>
              <c:barChart>
                <c:barDir val="col"/>
                <c:grouping val="clustered"/>
                <c:ser>
                  <c:idx val="0"/>
                  <c:order val="0"/>
                  <c:spPr>
                    <a:solidFill>
                      <a:srgbClr val="00FF00"/>
                    </a:solidFill>
                    <a:ln>
                      <a:solidFill>
                        <a:srgbClr val="00FF00"/>
                      </a:solidFill>
                    </a:ln>
                  </c:spPr>
                  <c:val>
                    <c:numRef>
                      <c:f>'data'!$A$1:$A$11</c:f>
                    </c:numRef>
                  </c:val>
                </c:ser>
                <c:axId val="60871424"/>
                <c:axId val="60873344"/>
              </c:barChart>
              <c:catAx>
                <c:axId val="60871424"/>
                <c:scaling>
                  <c:orientation val="minMax"/>
                </c:scaling>
                <c:axPos val="b"/>
                <c:numFmt formatCode="General" sourceLinked="0"/>
                <c:tickLblPos val="nextTo"/>
                <c:crossAx val="60873344"/>
                <c:crosses val="autoZero"/>
                <c:auto val="1"/>
                <c:lblAlgn val="ctr"/>
                <c:lblOffset val="100"/>
              </c:catAx>
              <c:valAx>
                <c:axId val="60873344"/>
                <c:scaling>
                  <c:orientation val="minMax"/>
                </c:scaling>
                <c:axPos val="l"/>
                <c:majorGridlines/>
                <c:numFmt formatCode="General" sourceLinked="1"/>
                <c:tickLblPos val="nextTo"/>
                <c:crossAx val="60871424"/>
                <c:crosses val="autoZero"/>
                <c:crossBetween val="between"/>
              </c:valAx>
            </c:plotArea>
            <c:legend>
              <c:legendPos val="r"/>
              <c:layout/>
            </c:legend>
            <c:plotVisOnly val="1"/>
          </c:chart>
        </c:chartSpace>
        """

        xml = tostring(cw.root)
        diff = compare_xml(xml, expected)
        assert diff is None, diff
コード例 #13
0
 def test_no_write_legend(self, bar_chart, root_xml):
     cw = BarChartWriter(bar_chart)
     bar_chart.show_legend = False
     cw._write_legend(root_xml)
     children = [e for e in root_xml]
     assert len(children) == 0