test_ops.py 975 B

123456789101112131415161718192021222324252627
  1. import pandas as pd
  2. import pandas._testing as tm
  3. class TestUnaryOps:
  4. def test_invert(self):
  5. a = pd.array([True, False, None], dtype="boolean")
  6. expected = pd.array([False, True, None], dtype="boolean")
  7. tm.assert_extension_array_equal(~a, expected)
  8. expected = pd.Series(expected, index=["a", "b", "c"], name="name")
  9. result = ~pd.Series(a, index=["a", "b", "c"], name="name")
  10. tm.assert_series_equal(result, expected)
  11. df = pd.DataFrame({"A": a, "B": [True, False, False]}, index=["a", "b", "c"])
  12. result = ~df
  13. expected = pd.DataFrame(
  14. {"A": expected, "B": [False, True, True]}, index=["a", "b", "c"]
  15. )
  16. tm.assert_frame_equal(result, expected)
  17. def test_abs(self):
  18. # matching numpy behavior, abs is the identity function
  19. arr = pd.array([True, False, None], dtype="boolean")
  20. result = abs(arr)
  21. tm.assert_extension_array_equal(result, arr)