test_pointertoarray.py 728 B

1234567891011121314151617181920212223
  1. def test_pta_float_pickle():
  2. from panda3d.core import PTA_float
  3. from direct.stdpy.pickle import dumps, loads, HIGHEST_PROTOCOL
  4. null_pta = PTA_float()
  5. empty_pta = PTA_float([])
  6. data_pta = PTA_float([1.0, 2.0, 3.0])
  7. data = data_pta.get_data()
  8. for proto in range(1, HIGHEST_PROTOCOL + 1):
  9. null_pta2 = loads(dumps(null_pta, proto))
  10. assert null_pta2.is_null()
  11. assert len(null_pta2) == 0
  12. empty_pta2 = loads(dumps(empty_pta, proto))
  13. assert not empty_pta2.is_null()
  14. assert len(empty_pta2) == 0
  15. data_pta2 = loads(dumps(data_pta, proto))
  16. assert tuple(data_pta2) == (1.0, 2.0, 3.0)
  17. assert data_pta2.get_data() == data_pta.get_data()