Source code for openpyxl.chart.tests.test_series

# Copyright (c) 2010-2023 openpyxl

import pytest

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


[docs] class TestBarSer:
[docs] def test_from_tree(self): from ..series import Series, attribute_mapping src = """ <ser> <idx val="0"/> <order val="0"/> <spPr> <a:ln xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <a:prstDash val="solid" /> </a:ln> </spPr> <val> <numRef> <f>Blatt1!$A$1:$A$12</f> </numRef> </val> </ser> """ node = fromstring(src) ser = Series.from_tree(node) assert ser.idx == 0 assert ser.order == 0 assert ser.val.numRef.ref == 'Blatt1!$A$1:$A$12' ser.__elements__ = attribute_mapping['bar'] xml = tostring(ser.to_tree()) diff = compare_xml(xml, src) assert diff is None, diff
[docs] class TestAreaSer:
[docs] def test_from_tree(self): from ..series import Series, attribute_mapping src = """ <ser> <idx val="0"/> <order val="0"/> <spPr> <a:ln xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <a:prstDash val="solid" /> </a:ln> </spPr> <val> <numRef> <f>Blatt1!$A$1:$A$12</f> </numRef> </val> </ser> """ node = fromstring(src) ser = Series.from_tree(node) assert ser.idx == 0 assert ser.order == 0 assert ser.val.numRef.ref == 'Blatt1!$A$1:$A$12' ser.__elements__ = attribute_mapping['area'] xml = tostring(ser.to_tree()) diff = compare_xml(xml, src) assert diff is None, diff
[docs] class TestBubbleSer:
[docs] def test_from_tree(self): from ..series import Series, attribute_mapping src = """ <ser> <idx val="0"/> <order val="0"/> <spPr> <a:ln xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <a:prstDash val="solid" /> </a:ln> </spPr> <xVal> <numRef> <f>Blatt1!$A$1:$A$12</f> </numRef> </xVal> <yVal> <numRef> <f>Blatt1!$B$1:$B$12</f> </numRef> </yVal> <bubbleSize> <numLit> <formatCode>General</formatCode> <ptCount val="12"/> <pt idx="0"> <v>1.1</v> </pt> <pt idx="1"> <v>1.1</v> </pt> <pt idx="2"> <v>1.1</v> </pt> <pt idx="3"> <v>1.1</v> </pt> <pt idx="4"> <v>1.1</v> </pt> <pt idx="5"> <v>1.1</v> </pt> <pt idx="6"> <v>1.1</v> </pt> <pt idx="7"> <v>1.1</v> </pt> <pt idx="8"> <v>1.1</v> </pt> <pt idx="9"> <v>1.1</v> </pt> <pt idx="10"> <v>1.1</v> </pt> <pt idx="11"> <v>1.1</v> </pt> </numLit> </bubbleSize> </ser> """ node = fromstring(src) ser = Series.from_tree(node) assert ser.idx == 0 assert ser.order == 0 assert ser.xVal.numRef.ref == 'Blatt1!$A$1:$A$12' assert ser.yVal.numRef.ref == 'Blatt1!$B$1:$B$12' assert ser.bubbleSize.numLit.ptCount == 12 assert ser.bubbleSize.numLit.pt[0].v == 1.1 ser.__elements__ = attribute_mapping['bubble'] xml = tostring(ser.to_tree()) diff = compare_xml(xml, src) assert diff is None, diff
[docs] class TestPieSer:
[docs] def test_from_tree(self): from ..series import Series, attribute_mapping src = """ <ser> <idx val="0"/> <order val="0"/> <spPr> <a:ln xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <a:prstDash val="solid" /> </a:ln> </spPr> <explosion val="25"/> <val> <numRef> <f>Blatt1!$A$1:$A$12</f> </numRef> </val> </ser> """ node = fromstring(src) ser = Series.from_tree(node) assert ser.idx == 0 assert ser.order == 0 assert ser.val.numRef.ref == 'Blatt1!$A$1:$A$12' ser.__elements__ = attribute_mapping['pie'] xml = tostring(ser.to_tree()) diff = compare_xml(xml, src) assert diff is None, diff
[docs] class TestRadarSer:
[docs] def test_from_tree(self): from ..series import Series, attribute_mapping src = """ <ser xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <idx val="0"/> <order val="0"/> <spPr> <a:ln> <a:prstDash val="solid" /> </a:ln> </spPr> <marker> <symbol val="none"/> <spPr> <a:ln> <a:prstDash val="solid" /> </a:ln> </spPr> </marker> <val> <numRef> <f>Blatt1!$A$1:$A$12</f> </numRef> </val> </ser> """ node = fromstring(src) ser = Series.from_tree(node) assert ser.idx == 0 assert ser.order == 0 assert ser.val.numRef.ref == 'Blatt1!$A$1:$A$12' ser.__elements__ = attribute_mapping['radar'] xml = tostring(ser.to_tree()) diff = compare_xml(xml, src) assert diff is None, diff
[docs] class TestScatterSer:
[docs] def test_from_tree(self): from ..series import Series, attribute_mapping src = """ <ser xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <idx val="0"/> <order val="0"/> <spPr> <a:ln > <a:prstDash val="solid" /> </a:ln> </spPr> <marker> <symbol val="none"/> <spPr> <a:ln> <a:prstDash val="solid" /> </a:ln> </spPr> </marker> <xVal> <numRef> <f>Blatt1!$A$1:$A$12</f> </numRef> </xVal> <yVal> <numRef> <f>Blatt1!$B$1:$B$12</f> </numRef> </yVal> <smooth val="0"/> </ser> """ node = fromstring(src) ser = Series.from_tree(node) assert ser.idx == 0 assert ser.order == 0 assert ser.xVal.numRef.ref == 'Blatt1!$A$1:$A$12' assert ser.yVal.numRef.ref == 'Blatt1!$B$1:$B$12' ser.__elements__ = attribute_mapping['scatter'] xml = tostring(ser.to_tree()) diff = compare_xml(xml, src) assert diff is None, diff
[docs] class TestSurfaceSer:
[docs] def test_from_tree(self): from ..series import Series, attribute_mapping src = """ <ser xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <idx val="0"/> <order val="0"/> <spPr> <a:ln > <a:prstDash val="solid" /> </a:ln> </spPr> <val> <numRef> <f>Blatt1!$A$1:$A$12</f> </numRef> </val> </ser> """ node = fromstring(src) ser = Series.from_tree(node) assert ser.idx == 0 assert ser.order == 0 assert ser.val.numRef.ref == 'Blatt1!$A$1:$A$12' ser.__elements__ = attribute_mapping['surface'] xml = tostring(ser.to_tree()) diff = compare_xml(xml, src) assert diff is None, diff
[docs] @pytest.fixture def SeriesLabel(): from ..series import SeriesLabel return SeriesLabel
[docs] class TestSeriesLabel:
[docs] def test_ctor(self, SeriesLabel): label = SeriesLabel(v="Label") xml = tostring(label.to_tree()) expected = """ <tx> <v>Label</v> </tx> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, SeriesLabel): src = """ <tx> <v>Label</v> </tx> """ node = fromstring(src) label = SeriesLabel.from_tree(node) assert label == SeriesLabel(v="Label")