Source code for openpyxl.chart.tests.test_area_chart

# Copyright (c) 2010-2023 openpyxl

import pytest

from openpyxl.xml.functions import fromstring, tostring
from openpyxl.tests.helper import compare_xml
from .. import Series


[docs] @pytest.fixture def AreaChart(): from ..area_chart import AreaChart return AreaChart
[docs] class TestAreaChart:
[docs] def test_ctor(self, AreaChart): chart = AreaChart() xml = tostring(chart.to_tree()) expected = """ <areaChart> <grouping val="standard"></grouping> <axId val="10"></axId> <axId val="100"></axId> </areaChart> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, AreaChart): src = """ <areaChart> <grouping val="percentStacked"/> <varyColors val="1"/> <axId val="10"></axId> <axId val="100"></axId> </areaChart> """ node = fromstring(src) chart = AreaChart.from_tree(node) assert chart == AreaChart(grouping="percentStacked", varyColors=True)
[docs] def test_write(self, AreaChart): s1 = Series(values="Sheet1!$A$1:$A$12") s2 = Series(values="Sheet1!$B$1:$B$12") chart = AreaChart(ser=[s1, s2]) xml = tostring(chart._write()) expected = """ <chartSpace xmlns="http://schemas.openxmlformats.org/drawingml/2006/chart"> <chart> <plotArea> <areaChart> <grouping val="standard"></grouping> <ser> <idx val="0"></idx> <order val="0"></order> <spPr> <a:ln xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <a:prstDash val="solid" /> </a:ln> </spPr> <val> <numRef> <f>'Sheet1'!$A$1:$A$12</f> </numRef> </val> </ser> <ser> <idx val="1"></idx> <order val="1"></order> <spPr> <a:ln xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <a:prstDash val="solid" /> </a:ln> </spPr> <val> <numRef> <f>'Sheet1'!$B$1:$B$12</f> </numRef> </val> </ser> <axId val="10"></axId> <axId val="100"></axId> </areaChart> <catAx> <axId val="10"></axId> <scaling> <orientation val="minMax"></orientation> </scaling> <axPos val="l" /> <majorTickMark val="none" /> <minorTickMark val="none" /> <crossAx val="100"></crossAx> <lblOffset val="100"></lblOffset> </catAx> <valAx> <axId val="100"></axId> <scaling> <orientation val="minMax"></orientation> </scaling> <axPos val="l" /> <majorGridlines/> <majorTickMark val="none" /> <minorTickMark val="none" /> <crossAx val="10"></crossAx> </valAx> </plotArea> <legend> <legendPos val="r"></legendPos> </legend> <plotVisOnly val="1" /> <dispBlanksAs val="gap"></dispBlanksAs> </chart> </chartSpace> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] @pytest.fixture def AreaChart3D(): from ..area_chart import AreaChart3D return AreaChart3D
[docs] class TestAreaChart3D:
[docs] def test_ctor(self, AreaChart3D): chart = AreaChart3D() xml = tostring(chart.to_tree()) expected = """ <area3DChart> <grouping val="standard"></grouping> <axId val="10"></axId> <axId val="100"></axId> <axId val="1000"></axId> </area3DChart> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, AreaChart3D): src = """ <area3DChart> <grouping val="standard"></grouping> <axId val="10"></axId> <axId val="100"></axId> <gapDepth val="150" /> </area3DChart> """ node = fromstring(src) chart = AreaChart3D.from_tree(node) assert chart == AreaChart3D(gapDepth=150)