diff options
Diffstat (limited to 'tests/conftest.py')
-rw-r--r-- | tests/conftest.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/conftest.py b/tests/conftest.py index 71bd3ac..1a9af58 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,5 @@ import datetime as dt +import xml.etree.ElementTree as et import pytest @@ -16,3 +17,17 @@ def aws(): w = Workspace("", "", "", dt.datetime.now()) Fixture(w, id_=0, channel_count=4) return w + +def elements_equal(e1, e2): + if e1.tag != e2.tag: return False + if e1.text != e2.text: return False + if e1.tail.strip() != e2.tail.strip(): return False + if e1.attrib != e2.attrib: return False + if len(e1) != len(e2): return False + return all(elements_equal(c1, c2) for c1, c2 in zip(e1, e2)) + +@pytest.fixture +def test_xml_eq(): + def inner(e: et.Element, s: str): + return elements_equal(e, et.fromstring(s)) + return inner |