test_materialattrib.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. from panda3d import core
  2. def test_materialattrib_compare():
  3. mat1 = core.Material()
  4. mat2 = core.Material()
  5. # Two empty attribs
  6. mattr1 = core.MaterialAttrib.make_off()
  7. mattr2 = core.MaterialAttrib.make_off()
  8. assert mattr1.compare_to(mattr2) == 0
  9. assert mattr2.compare_to(mattr1) == 0
  10. # One empty attrib, one with a material
  11. mattr1 = core.MaterialAttrib.make_off()
  12. mattr2 = core.MaterialAttrib.make(mat1)
  13. assert mattr1 != mattr2
  14. assert mattr1.compare_to(mattr2) != 0
  15. assert mattr2.compare_to(mattr1) != 0
  16. assert mattr1.compare_to(mattr2) == -mattr2.compare_to(mattr1)
  17. # Two attribs with same material
  18. mattr1 = core.MaterialAttrib.make(mat1)
  19. mattr2 = core.MaterialAttrib.make(mat1)
  20. assert mattr1.compare_to(mattr2) == 0
  21. assert mattr2.compare_to(mattr1) == 0
  22. # Two different materials
  23. mattr1 = core.MaterialAttrib.make(mat1)
  24. mattr2 = core.MaterialAttrib.make(mat2)
  25. assert mattr1 != mattr2
  26. assert mattr1.compare_to(mattr2) != 0
  27. assert mattr2.compare_to(mattr1) != 0
  28. assert mattr1.compare_to(mattr2) == -mattr2.compare_to(mattr1)