def recursive_hash(data_structure): """Recursive hash does: hash(freeze(data_structure)) >>> a = recursive_hash(_TestClass(True)) >>> b = recursive_hash(_TestClass(True)) >>> a == b True """ return hash(freeze(data_structure))
def stable_hash(data_structure): """Stable hash does: hash(recursive_sort(freeze(data_structure))) >>> a = stable_hash(_TestClass(True)) >>> b = stable_hash(_TestClass(True)) >>> a == b True """ return hash(recursive_sort(freeze(data_structure)))