From 4bc6d0d8cbfe475c2cc24f1db339f33aa900b03a Mon Sep 17 00:00:00 2001 From: Tamas Gal <tgal@km3net.de> Date: Tue, 2 Feb 2021 18:34:17 +0100 Subject: [PATCH] Add keys, items and values to Header --- km3io/offline.py | 9 +++++++++ tests/test_offline.py | 14 ++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/km3io/offline.py b/km3io/offline.py index 6fd13b2..25d7f18 100644 --- a/km3io/offline.py +++ b/km3io/offline.py @@ -146,3 +146,12 @@ class Header: def __getitem__(self, key): return self._data[key] + + def keys(self): + return self._data.keys() + + def items(self): + return self._data.items() + + def values(self): + return self._data.values() diff --git a/tests/test_offline.py b/tests/test_offline.py index 2f59f05..5762bf3 100644 --- a/tests/test_offline.py +++ b/tests/test_offline.py @@ -123,6 +123,20 @@ class TestHeader(unittest.TestCase): assert 7 == header["d"] assert "bar" == header["e+f"] + def test_header_behaves_like_a_dict(self): + head = { + "a": "1 2 3", + "b+c": "4 5 6", + "c": "foo", + "d": "7", + "e+f": "bar", + } + + header = Header(head) + self.assertListEqual(list(head.keys()), list(header.keys())) + assert 5 == len(header.values()) + assert 5 == len(header.items()) + def test_reading_header_from_sample_file(self): head = OFFLINE_NUMUCC.header -- GitLab