test_bitarray.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from panda3d.core import BitArray
  2. import pickle
  3. import pytest
  4. def test_bitarray_allon():
  5. assert BitArray.all_on().is_all_on()
  6. def test_bitarray_invert():
  7. assert ~BitArray(0) != BitArray(0)
  8. assert (~BitArray(0)).is_all_on()
  9. assert ~~BitArray(0) == BitArray(0)
  10. assert ~~BitArray(123) == BitArray(123)
  11. def test_bitarray_getstate():
  12. assert BitArray().__getstate__() == 0
  13. assert BitArray(0).__getstate__() == 0
  14. assert BitArray(100).__getstate__() == 100
  15. assert BitArray.all_on().__getstate__() == -1
  16. assert ~BitArray(100).__getstate__() == ~100
  17. def test_bitarray_pickle():
  18. ba = BitArray()
  19. assert ba == pickle.loads(pickle.dumps(ba, -1))
  20. ba = BitArray(0)
  21. assert ba == pickle.loads(pickle.dumps(ba, -1))
  22. ba = BitArray(123)
  23. assert ba == pickle.loads(pickle.dumps(ba, -1))
  24. def test_bitarray_has_any_of():
  25. ba = BitArray()
  26. assert not ba.has_any_of(100, 200)
  27. ba = BitArray()
  28. ba.set_range(0, 53)
  29. assert ba.has_any_of(52, 1)
  30. assert ba.has_any_of(52, 100)
  31. assert not ba.has_any_of(53, 45)
  32. ba = BitArray()
  33. ba.invert_in_place()
  34. assert ba.has_any_of(0, 1)
  35. assert ba.has_any_of(53, 45)
  36. assert ba.has_any_of(0, 100)