diff --git a/km3io/offline.py b/km3io/offline.py index 6fd13b2d2bb6159dc03eba50c3770e1e50cd71d8..25d7f181d7804f6a1e81336ab2a72fd56ff0b886 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 2f59f05a795cf429cd1b14d88d413d50b6afcc24..5762bf3174be4f2d26994bb0b26c58884f51f1fb 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