test_curried_toolzlike.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import cytoolz
  2. import cytoolz.curried
  3. import types
  4. from dev_skip_test import dev_skip_test
  5. # Note that the tests in this file assume `toolz.curry` is a class, but we
  6. # may some day make `toolz.curry` a function and `toolz.Curry` a class.
  7. @dev_skip_test
  8. def test_toolzcurry_is_class():
  9. import toolz
  10. assert isinstance(toolz.curry, type) is True
  11. assert isinstance(toolz.curry, types.FunctionType) is False
  12. @dev_skip_test
  13. def test_cytoolz_like_toolz():
  14. import toolz
  15. import toolz.curried
  16. for key, val in vars(toolz.curried).items():
  17. if isinstance(val, toolz.curry):
  18. if val.func is toolz.curry: # XXX: Python 3.4 work-around!
  19. continue
  20. assert hasattr(cytoolz.curried, key), (
  21. 'cytoolz.curried.%s does not exist' % key)
  22. assert isinstance(getattr(cytoolz.curried, key), cytoolz.curry), (
  23. 'cytoolz.curried.%s should be curried' % key)
  24. @dev_skip_test
  25. def test_toolz_like_cytoolz():
  26. import toolz
  27. import toolz.curried
  28. for key, val in vars(cytoolz.curried).items():
  29. if isinstance(val, cytoolz.curry):
  30. assert hasattr(toolz.curried, key), (
  31. 'cytoolz.curried.%s should not exist' % key)
  32. assert isinstance(getattr(toolz.curried, key), toolz.curry), (
  33. 'cytoolz.curried.%s should not be curried' % key)