test_pointertoarray.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. def test_pta_float_compare():
  2. from panda3d.core import PTA_float, CPTA_float
  3. # Two null PTAs
  4. assert PTA_float() == PTA_float()
  5. assert not (PTA_float() != PTA_float())
  6. # Two non-null PTAs
  7. assert PTA_float([1]) != PTA_float([1])
  8. assert not (PTA_float([1]) == PTA_float([1]))
  9. # A copy of a PTA
  10. pta = PTA_float([1])
  11. assert pta == PTA_float(pta)
  12. assert not (pta != PTA_float(pta))
  13. # A const copy of a PTA
  14. pta = PTA_float([1])
  15. cpta = CPTA_float(pta)
  16. assert pta == cpta
  17. assert not (pta != cpta)
  18. def test_pta_float_pickle():
  19. from panda3d.core import PTA_float
  20. from direct.stdpy.pickle import dumps, loads, HIGHEST_PROTOCOL
  21. null_pta = PTA_float()
  22. empty_pta = PTA_float([])
  23. data_pta = PTA_float([1.0, 2.0, 3.0])
  24. data = data_pta.get_data()
  25. for proto in range(1, HIGHEST_PROTOCOL + 1):
  26. null_pta2 = loads(dumps(null_pta, proto))
  27. assert null_pta2.is_null()
  28. assert len(null_pta2) == 0
  29. empty_pta2 = loads(dumps(empty_pta, proto))
  30. assert not empty_pta2.is_null()
  31. assert len(empty_pta2) == 0
  32. data_pta2 = loads(dumps(data_pta, proto))
  33. assert tuple(data_pta2) == (1.0, 2.0, 3.0)
  34. assert data_pta2.get_data() == data_pta.get_data()
  35. def test_cpta_float_pickle():
  36. from panda3d.core import PTA_float, CPTA_float
  37. from direct.stdpy.pickle import dumps, loads, HIGHEST_PROTOCOL
  38. null_pta = CPTA_float(PTA_float())
  39. empty_pta = CPTA_float([])
  40. data_pta = CPTA_float([1.0, 2.0, 3.0])
  41. data = data_pta.get_data()
  42. for proto in range(1, HIGHEST_PROTOCOL + 1):
  43. null_pta2 = loads(dumps(null_pta, proto))
  44. assert null_pta2.is_null()
  45. assert len(null_pta2) == 0
  46. empty_pta2 = loads(dumps(empty_pta, proto))
  47. assert not empty_pta2.is_null()
  48. assert len(empty_pta2) == 0
  49. data_pta2 = loads(dumps(data_pta, proto))
  50. assert tuple(data_pta2) == (1.0, 2.0, 3.0)
  51. assert data_pta2.get_data() == data_pta.get_data()