Source code for openpyxl.chart.tests.test_axis

# Copyright (c) 2010-2023 openpyxl

import pytest

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


[docs] @pytest.fixture def Scaling(): from ..axis import Scaling return Scaling
[docs] class TestScale:
[docs] def test_ctor(self, Scaling): scale = Scaling() xml = tostring(scale.to_tree()) expected = """ <scaling> <orientation val="minMax"></orientation> </scaling> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, Scaling): xml = """ <scaling> <logBase val="10"/> <orientation val="minMax"/> </scaling> """ node = fromstring(xml) scale = Scaling.from_tree(node) assert scale == Scaling(logBase=10)
@pytest.fixture def _BaseAxis(): from ..axis import _BaseAxis return _BaseAxis
[docs] class TestAxis:
[docs] def test_ctor(self, _BaseAxis, Scaling): axis = _BaseAxis(axId=10, crossAx=100) xml = tostring(axis.to_tree(tagname="baseAxis")) expected = """ <baseAxis> <axId val="10"></axId> <scaling> <orientation val="minMax"></orientation> </scaling> <axPos val="l" /> <majorTickMark val="none" /> <minorTickMark val="none" /> <crossAx val="100" /> </baseAxis> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] @pytest.fixture def TextAxis(): from ..axis import TextAxis return TextAxis
[docs] class TestTextAxis:
[docs] def test_ctor(self, TextAxis): axis = TextAxis(axId=10, crossAx=100) xml = tostring(axis.to_tree()) expected = """ <catAx> <axId val="10"></axId> <scaling> <orientation val="minMax"></orientation> </scaling> <axPos val="l" /> <majorTickMark val="none" /> <minorTickMark val="none" /> <crossAx val="100" /> <lblOffset val="100" /> </catAx> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, TextAxis): src = """ <catAx> <axId val="2065276984"/> <scaling> <orientation val="minMax"/> </scaling> <delete val="0"/> <axPos val="b"/> <majorTickMark val="out"/> <minorTickMark val="none"/> <tickLblPos val="nextTo"/> <crossAx val="2056619928"/> <crosses val="autoZero"/> <crossesAt val="30"/> <auto val="1"/> <lblAlgn val="ctr"/> <lblOffset val="100"/> <noMultiLvlLbl val="0"/> </catAx> """ node = fromstring(src) axis = TextAxis.from_tree(node) assert axis.scaling.orientation == "minMax" assert axis.auto is True assert axis.majorTickMark == "out" assert axis.minorTickMark is None assert axis.crossesAt == 30
[docs] @pytest.fixture def NumericAxis(): from ..axis import NumericAxis return NumericAxis
[docs] class TestValAx:
[docs] def test_ctor(self, NumericAxis): axis = NumericAxis(axId=100, crossAx=10) xml = tostring(axis.to_tree()) expected = """ <valAx> <axId val="100"></axId> <scaling> <orientation val="minMax"></orientation> </scaling> <axPos val="l" /> <majorGridlines /> <majorTickMark val="none" /> <minorTickMark val="none" /> <crossAx val="10" /> </valAx> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, NumericAxis): src = """ <valAx> <axId val="2056619928"/> <scaling> <logBase val="10" /> <orientation val="minMax"/> </scaling> <delete val="0"/> <axPos val="l"/> <majorGridlines/> <numFmt formatCode="General" sourceLinked="1"/> <majorTickMark val="out"/> <minorTickMark val="none"/> <tickLblPos val="nextTo"/> <crossAx val="2065276984"/> <crosses val="autoZero"/> <crossBetween val="between"/> </valAx> """ node = fromstring(src) axis = NumericAxis.from_tree(node) assert axis.delete is False assert axis.crossAx == 2065276984 assert axis.crossBetween == "between" assert axis.scaling.logBase == 10
[docs] @pytest.fixture def DateAxis(): from ..axis import DateAxis return DateAxis
[docs] class TestDateAx:
[docs] def test_ctor(self, DateAxis): axis = DateAxis(axId=500, crossAx=10) xml = tostring(axis.to_tree()) expected = """ <dateAx> <axId val="500"></axId> <scaling> <orientation val="minMax"></orientation> </scaling> <axPos val="l" /> <majorTickMark val="none" /> <minorTickMark val="none" /> <crossAx val="10" /> </dateAx> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, DateAxis): from openpyxl.chart.data_source import NumFmt src = """ <dateAx> <axId val="20"/> <scaling> <orientation val="minMax"/> </scaling> <delete val="0"/> <axPos val="b"/> <numFmt formatCode="d-mmm" sourceLinked="1"/> <majorTickMark val="out"/> <minorTickMark val="none"/> <tickLblPos val="nextTo"/> <crossAx val="10"/> <crosses val="autoZero"/> <auto val="1"/> <lblOffset val="100"/> <baseTimeUnit val="months"/> </dateAx> """ node = fromstring(src) axis = DateAxis.from_tree(node) assert axis == DateAxis(axId=20, crossAx=10, axPos="b", delete=False, numFmt=NumFmt("d-mmm", True), majorTickMark="out", crosses="autoZero", tickLblPos="nextTo", auto=True, lblOffset=100, baseTimeUnit="months")
[docs] @pytest.fixture def SeriesAxis(): from ..axis import SeriesAxis return SeriesAxis
[docs] class TestSeriesAxis:
[docs] def test_ctor(self, SeriesAxis): axis = SeriesAxis(axId=1000, crossAx=10) xml = tostring(axis.to_tree()) expected = """ <serAx> <axId val="1000"></axId> <scaling> <orientation val="minMax"></orientation> </scaling> <axPos val="l" /> <majorTickMark val="none" /> <minorTickMark val="none" /> <crossAx val="10" /> </serAx> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, SeriesAxis): src = """ <serAx> <axId val="1000"></axId> <scaling> <orientation val="minMax"></orientation> </scaling> <axPos val="l" /> <crossAx val="10" /> </serAx> """ node = fromstring(src) axis = SeriesAxis.from_tree(node) assert axis == SeriesAxis()
[docs] @pytest.fixture def DisplayUnitsLabel(): from ..axis import DisplayUnitsLabel return DisplayUnitsLabel
[docs] class TestDispUnitsLabel:
[docs] def test_ctor(self, DisplayUnitsLabel): axis = DisplayUnitsLabel() xml = tostring(axis.to_tree()) expected = """ <dispUnitsLbl /> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, DisplayUnitsLabel): src = """ <dispUnitsLbl /> """ node = fromstring(src) axis = DisplayUnitsLabel.from_tree(node) assert axis == DisplayUnitsLabel()
[docs] @pytest.fixture def DisplayUnitsLabelList(): from ..axis import DisplayUnitsLabelList return DisplayUnitsLabelList
[docs] class TestDisplayUnitList:
[docs] def test_ctor(self, DisplayUnitsLabelList): axis = DisplayUnitsLabelList() xml = tostring(axis.to_tree()) expected = """ <dispUnits /> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, DisplayUnitsLabelList): src = """ <dispUnits /> """ node = fromstring(src) axis = DisplayUnitsLabelList.from_tree(node) assert axis == DisplayUnitsLabelList()
[docs] @pytest.fixture def ChartLines(): from ..axis import ChartLines return ChartLines
[docs] class TestChartLines:
[docs] def test_ctor(self, ChartLines): axis = ChartLines() xml = tostring(axis.to_tree()) expected = """ <chartLines /> """ diff = compare_xml(xml, expected) assert diff is None, diff
[docs] def test_from_xml(self, ChartLines): src = """ <chartLines /> """ node = fromstring(src) axis = ChartLines.from_tree(node) assert axis == ChartLines()