← Files AgentBrokoARCHIVED FILE
.venv/Lib/site-packages/toolz/sandbox/tests/test_parallel.py
904 Bytes · Oct 4, 2026 · 12:32 UTC
from toolz.sandbox.parallel import fold
from toolz import reduce
from operator import add
from pickle import dumps, loads
from multiprocessing import Pool
# is comparison will fail between this and no_default
no_default2 = loads(dumps('__no__default__'))
def test_fold():
assert fold(add, range(10), 0) == reduce(add, range(10), 0)
with Pool() as pool:
assert fold(add, range(10), 0, map=pool.map) == reduce(add, range(10), 0)
assert fold(add, range(10), 0, chunksize=2) == reduce(add, range(10), 0)
assert fold(add, range(10)) == fold(add, range(10), 0)
def setadd(s, item):
s = s.copy()
s.add(item)
return s
assert fold(setadd, [1, 2, 3], set()) == {1, 2, 3}
assert (fold(setadd, [1, 2, 3], set(), chunksize=2, combine=set.union)
== {1, 2, 3})
assert fold(add, range(10), default=no_default2) == fold(add, range(10))
SHA-256: 2e7e4e4309c4618522fc713fd6ec242b98c6aa11e351989145b35e5bcff8a1e0