test_physics.py 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # coding: utf-8
  2. import pytest
  3. from synergine2_xyz.physics import VisibilityMatrix
  4. from tests import BaseTest
  5. class TestVisibilityMatrix(BaseTest):
  6. def test_initialize_empty_matrix(self):
  7. visibility = VisibilityMatrix()
  8. visibility.initialize_empty_matrix('testing', height=0.5, matrix_width=3, matrix_height=2)
  9. matrix = visibility.get_matrix('testing', height=0.5)
  10. assert isinstance(matrix, list)
  11. assert [0.0, 0.0, 0.0] == matrix[0]
  12. assert [0.0, 0.0, 0.0] == matrix[1]
  13. def test_update_matrix(self):
  14. visibility = VisibilityMatrix()
  15. visibility.initialize_empty_matrix('testing', height=0.5, matrix_width=3, matrix_height=2)
  16. visibility.update_matrix('testing', height=0.5, x=2, y=1, value=0.5)
  17. visibility.update_matrix('testing', height=0.5, x=0, y=0, value=0.7)
  18. matrix = visibility.get_matrix('testing', height=0.5)
  19. assert [0.7, 0.0, 0.0] == matrix[0]
  20. assert [0.0, 0.0, 0.5] == matrix[1]
  21. @pytest.mark.skip(reason='Not implemented yet')
  22. def test_get_path_positions(self):
  23. visibility = VisibilityMatrix()
  24. visibility.initialize_empty_matrix('testing', height=0.5, matrix_width=3, matrix_height=2)
  25. visibility.update_matrix('testing', height=0.5, x=2, y=1, value=0.5)
  26. visibility.update_matrix('testing', height=0.5, x=0, y=0, value=0.7)
  27. path_positions = visibility.get_path_positions(from_=(0, 0), to=(2, 1))
  28. assert [(0, 0), (0, 1), (1, 2)] == path_positions
  29. @pytest.mark.skip(reason='Not implemented yet')
  30. def test_get_path_values(self):
  31. visibility = VisibilityMatrix()
  32. visibility.initialize_empty_matrix('testing', height=0.5, matrix_width=3, matrix_height=2)
  33. visibility.update_matrix('testing', height=0.5, x=2, y=1, value=0.5)
  34. visibility.update_matrix('testing', height=0.5, x=0, y=0, value=0.7)
  35. path_positions = visibility.get_path_positions(from_=(0, 0), to=(2, 1))
  36. path_values = visibility.get_values_for_path(path_positions=path_positions)
  37. assert [0.7, 0.0, 0.5] == path_values