diff options
Diffstat (limited to 'collect')
| -rw-r--r-- | collect/bidict.py | 2 | ||||
| -rw-r--r-- | collect/bst.py | 18 | ||||
| -rw-r--r-- | collect/shared_dict.py | 15 | ||||
| -rw-r--r-- | collect/trie.py | 11 |
4 files changed, 22 insertions, 24 deletions
diff --git a/collect/bidict.py b/collect/bidict.py index 8153e54..d288174 100644 --- a/collect/bidict.py +++ b/collect/bidict.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 + class BiDict(dict): def __init__(self, *args, **kwargs): """ @@ -50,4 +51,5 @@ class BiDict(dict): if __name__ == '__main__': import doctest + doctest.testmod() diff --git a/collect/bst.py b/collect/bst.py index 8602ce6..712683e 100644 --- a/collect/bst.py +++ b/collect/bst.py @@ -90,9 +90,7 @@ class BinarySearchTree(object): return self._find(value, node.right) return None - def _parent_path( - self, current: Optional[Node], target: Node - ) -> List[Optional[Node]]: + def _parent_path(self, current: Optional[Node], target: Node) -> List[Optional[Node]]: if current is None: return [None] ret: List[Optional[Node]] = [current] @@ -575,7 +573,11 @@ class BinarySearchTree(object): return self.depth() def repr_traverse( - self, padding: str, pointer: str, node: Optional[Node], has_right_sibling: bool + self, + padding: str, + pointer: str, + node: Optional[Node], + has_right_sibling: bool, ) -> str: if node is not None: viz = f'\n{padding}{pointer}{node.value}' @@ -590,9 +592,7 @@ class BinarySearchTree(object): else: pointer_left = "└──" - viz += self.repr_traverse( - padding, pointer_left, node.left, node.right is not None - ) + viz += self.repr_traverse(padding, pointer_left, node.left, node.right is not None) viz += self.repr_traverse(padding, pointer_right, node.right, False) return viz return "" @@ -628,9 +628,7 @@ class BinarySearchTree(object): else: pointer_left = "├──" - ret += self.repr_traverse( - '', pointer_left, self.root.left, self.root.left is not None - ) + ret += self.repr_traverse('', pointer_left, self.root.left, self.root.left is not None) ret += self.repr_traverse('', pointer_right, self.root.right, False) return ret diff --git a/collect/shared_dict.py b/collect/shared_dict.py index ec76138..e0a42f2 100644 --- a/collect/shared_dict.py +++ b/collect/shared_dict.py @@ -31,16 +31,7 @@ import pickle from contextlib import contextmanager from functools import wraps from multiprocessing import RLock, shared_memory -from typing import ( - Any, - Dict, - Generator, - ItemsView, - Iterator, - KeysView, - Optional, - ValuesView, -) +from typing import Any, Dict, Generator, ItemsView, Iterator, KeysView, Optional, ValuesView from decorator_utils import synchronized @@ -94,9 +85,7 @@ class SharedDict(object): return shared_memory.SharedMemory(name=name, create=True, size=size_bytes) def _ensure_memory_initialization(self): - memory_is_empty = ( - bytes(self.shared_memory.buf).split(SharedDict.NULL_BYTE, 1)[0] == b'' - ) + memory_is_empty = bytes(self.shared_memory.buf).split(SharedDict.NULL_BYTE, 1)[0] == b'' if memory_is_empty: self.clear() diff --git a/collect/trie.py b/collect/trie.py index 3e4c917..70d57b1 100644 --- a/collect/trie.py +++ b/collect/trie.py @@ -11,6 +11,7 @@ class Trie(object): for examples. """ + def __init__(self): self.root = {} self.end = "~END~" @@ -241,7 +242,14 @@ class Trie(object): return None return [x for x in node if x != self.end] - def repr_fancy(self, padding: str, pointer: str, parent: str, node: Any, has_sibling: bool): + def repr_fancy( + self, + padding: str, + pointer: str, + parent: str, + node: Any, + has_sibling: bool, + ): if node is None: return if node is not self.root: @@ -328,4 +336,5 @@ class Trie(object): if __name__ == '__main__': import doctest + doctest.testmod() |
