test_str_methods.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import sys
  2. import pytest
  3. if sys.version_info < (3, 9):
  4. from pandas.util._str_methods import (
  5. removeprefix,
  6. removesuffix,
  7. )
  8. @pytest.mark.parametrize(
  9. "string, prefix, expected",
  10. (
  11. ("wildcat", "wild", "cat"),
  12. ("blackbird", "black", "bird"),
  13. ("housefly", "house", "fly"),
  14. ("ladybug", "lady", "bug"),
  15. ("rattlesnake", "rattle", "snake"),
  16. ("baboon", "badger", "baboon"),
  17. ("quetzal", "elk", "quetzal"),
  18. ),
  19. )
  20. def test_remove_prefix(string, prefix, expected):
  21. result = removeprefix(string, prefix)
  22. assert result == expected
  23. @pytest.mark.parametrize(
  24. "string, suffix, expected",
  25. (
  26. ("wildcat", "cat", "wild"),
  27. ("blackbird", "bird", "black"),
  28. ("housefly", "fly", "house"),
  29. ("ladybug", "bug", "lady"),
  30. ("rattlesnake", "snake", "rattle"),
  31. ("seahorse", "horse", "sea"),
  32. ("baboon", "badger", "baboon"),
  33. ("quetzal", "elk", "quetzal"),
  34. ),
  35. )
  36. def test_remove_suffix(string, suffix, expected):
  37. result = removesuffix(string, suffix)
  38. assert result == expected
  39. else:
  40. # NOTE: remove this file when pyupgrade --py39-plus removes
  41. # the above block
  42. pass