Skip to content
Snippets Groups Projects
Commit 4c30cf3f authored by Moul's avatar Moul
Browse files

[feat] InputSource: add equality and hash methods

parent dc87cc75
No related branches found
No related tags found
1 merge request!55Implement InputSource and OutputSource equality and hash methods
import re import re
from typing import TypeVar, List, Type, Optional, Dict, Union from typing import TypeVar, List, Any, Type, Optional, Dict, Union
import pypeg2 import pypeg2
...@@ -78,6 +78,24 @@ class InputSource: ...@@ -78,6 +78,24 @@ class InputSource:
self.origin_id = origin_id self.origin_id = origin_id
self.index = index self.index = index
def __eq__(self, other: Any) -> bool:
"""
Check InputSource instances equality
"""
if not isinstance(other, InputSource):
return NotImplemented
return self.amount == other.amount and\
self.base == other.base and\
self.source == other.source and\
self.origin_id == other.origin_id and\
self.index == other.index
def __hash__(self) -> int:
return hash((self.amount, self.base, self.source, self.origin_id, self.index))
@classmethod @classmethod
def from_inline(cls: Type[InputSourceType], tx_version: int, inline: str) -> InputSourceType: def from_inline(cls: Type[InputSourceType], tx_version: int, inline: str) -> InputSourceType:
""" """
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment