from __future__ import absolute_import
# Copyright (c) 2010-2017 openpyxl
import pytest
from openpyxl.xml.functions import fromstring, tostring
from openpyxl.tests.helper import compare_xml
@pytest.fixture
[docs]def Marker():
from ..marker import Marker
return Marker
[docs]class TestMarker:
[docs] def test_ctor(self, Marker):
marker = Marker(symbol=None, size=5)
xml = tostring(marker.to_tree())
expected = """
<marker>
<symbol val="none"/>
<size val="5"/>
<spPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:ln>
<a:prstDash val="solid" />
</a:ln>
</spPr>
</marker>
"""
diff = compare_xml(xml, expected)
assert diff is None, diff
[docs] def test_from_xml(self, Marker):
src = """
<marker>
<symbol val="square"/>
<size val="5"/>
</marker>
"""
node = fromstring(src)
marker = Marker.from_tree(node)
assert marker == Marker(symbol="square", size=5)
@pytest.fixture
[docs]def DataPoint():
from ..marker import DataPoint
return DataPoint
[docs]class TestDataPoint:
[docs] def test_ctor(self, DataPoint):
dp = DataPoint(idx=9)
xml = tostring(dp.to_tree())
expected = """
<dPt>
<idx val="9"/>
<spPr>
<a:ln xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:prstDash val="solid"/>
</a:ln>
</spPr>
</dPt>
"""
diff = compare_xml(xml, expected)
assert diff is None, diff
[docs] def test_from_xml(self, DataPoint):
src = """
<dPt>
<idx val="9"/>
<marker>
<symbol val="triangle"/>
<size val="5"/>
</marker>
<bubble3D val="0"/>
</dPt>
"""
node = fromstring(src)
dp = DataPoint.from_tree(node)
assert dp.idx == 9
assert dp.bubble3D is False