test_physics.py 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. def test_get_path_positions(self):
  22. visibility = VisibilityMatrix()
  23. visibility.initialize_empty_matrix('testing', height=0.5, matrix_width=3, matrix_height=2)
  24. visibility.update_matrix('testing', height=0.5, x=2, y=1, value=0.5)
  25. visibility.update_matrix('testing', height=0.5, x=0, y=0, value=0.7)
  26. path_positions = visibility.get_path_positions(from_=(0, 0), to=(2, 1))
  27. assert [(0, 0), (1, 0), (2, 1)] == path_positions
  28. def test_get_path_values(self):
  29. visibility = VisibilityMatrix()
  30. visibility.initialize_empty_matrix('testing', height=0.5, matrix_width=3, matrix_height=2)
  31. visibility.update_matrix('testing', height=0.5, x=2, y=1, value=0.5)
  32. visibility.update_matrix('testing', height=0.5, x=0, y=0, value=0.7)
  33. path_positions = visibility.get_path_positions(from_=(0, 0), to=(2, 1))
  34. path_values = visibility.get_values_for_path('testing', height=0.5, path_positions=path_positions)
  35. assert [0.7, 0.0, 0.5] == path_values