Source code for openpyxl.chart.tests.test_series_factory

from __future__ import absolute_import
# Copyright (c) 2010-2017 openpyxl

import pytest

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


@pytest.fixture
[docs]def Series(): from ..series_factory import SeriesFactory return SeriesFactory
[docs]class TestSeriesFactory:
[docs] def test_ctor(self, Series): series = Series(values="Sheet1!$A$1:$A$10") series.__elements__ = ('idx', 'order', 'val') xml = tostring(series.to_tree()) expected = """ <ser> <idx val="0"></idx> <order val="0"></order> <val> <numRef> <f>Sheet1!$A$1:$A$10</f> </numRef> </val> </ser> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_manual_idx(self, Series): series = Series(values="Sheet1!$A$1:$A$10") series.__elements__ = ('idx', 'order', 'val') xml = tostring(series.to_tree(idx=5)) expected = """ <ser> <idx val="5"></idx> <order val="5"></order> <val> <numRef> <f>Sheet1!$A$1:$A$10</f> </numRef> </val> </ser> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_manual_order(self, Series): series = Series(values="Sheet1!$A$1:$A$10") series.order = 2 series.__elements__ = ('idx', 'order', 'val') xml = tostring(series.to_tree(idx=5)) expected = """ <ser> <idx val="5"></idx> <order val="2"></order> <val> <numRef> <f>Sheet1!$A$1:$A$10</f> </numRef> </val> </ser> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_title(self, Series): series = Series("Sheet1!A1:A10", title="First Series") series.__elements__ = ('idx', 'order', 'tx') xml = tostring(series.to_tree(idx=0)) expected = """ <ser> <idx val="0"></idx> <order val="0"></order> <tx> <v>First Series</v> </tx> </ser> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_title_from_data(self, Series): series = Series("Sheet1!A1:A10", title_from_data=True) series.__elements__ = ('tx', 'val') xml = tostring(series.to_tree(idx=0)) expected = """ <ser> <tx> <strRef> <f>Sheet1!A1</f> </strRef> </tx> <val> <numRef> <f>Sheet1!$A$2:$A$10</f> </numRef> </val> </ser> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_xy(self, Series): from ..series import XYSeries series = Series("Sheet!A1:A10", xvalues="Sheet!B1:B10") assert isinstance(series, XYSeries)
[docs] def test_zvalues(self, Series): series = Series("Sheet!A2:A5", xvalues="Sheet!B2:B5", zvalues="Sheet!C2:C5") series.__elements__ = ('xVal', 'yVal', 'bubbleSize') xml = tostring(series.to_tree()) expected = """ <ser> <xVal> <numRef> <f>Sheet!$B$2:$B$5</f> </numRef> </xVal> <yVal> <numRef> <f>Sheet!$A$2:$A$5</f> </numRef> </yVal> <bubbleSize> <numRef> <f>Sheet!$C$2:$C$5</f> </numRef> </bubbleSize> </ser> """ diff = compare_xml(xml, expected) assert diff is None, diff