diff options
author | amitmi704 <36094800+amitmi704@users.noreply.github.com> | 2021-02-07 18:54:27 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-08 01:54:27 +0100 |
commit | b6c4203f85dba18074971208c0602c5bada90e8b (patch) | |
tree | 3ebc04f8a7bdfd6f5ece28e4569304de6685b0c5 | |
parent | 606a44b62ea7032f63e359aaaaabc0057e168890 (diff) | |
download | netaddr-b6c4203f85dba18074971208c0602c5bada90e8b.tar.gz |
Add hash capabilities to OUI (#225)
Closes #224
-rw-r--r-- | netaddr/eui/__init__.py | 3 | ||||
-rw-r--r-- | netaddr/tests/eui/test_eui.py | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/netaddr/eui/__init__.py b/netaddr/eui/__init__.py index 5639676..07bbdc3 100644 --- a/netaddr/eui/__init__.py +++ b/netaddr/eui/__init__.py @@ -100,6 +100,9 @@ class OUI(BaseIdentifier): else: raise NotRegisteredError('OUI %r not registered!' % (oui,)) + def __hash__(self): + return hash(self._value) + def __eq__(self, other): if not isinstance(other, OUI): try: diff --git a/netaddr/tests/eui/test_eui.py b/netaddr/tests/eui/test_eui.py index 645a518..c17d0ce 100644 --- a/netaddr/tests/eui/test_eui.py +++ b/netaddr/tests/eui/test_eui.py @@ -186,6 +186,14 @@ def test_oui_constructor(): assert oui.reg_count == 3 +def test_oui_hash(): + oui0 = OUI(0) + oui1 = OUI(1) + oui_dict = {oui0: None, oui1: None} + + assert list(oui_dict.keys()) == [OUI(0), OUI(1)] + + def test_eui_iab(): mac = EUI('00-50-C2-00-0F-01') assert mac.is_iab() |