test_triangle.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import pytest
  2. from freesurfer_surface import Triangle
  3. def test_init():
  4. triangle = Triangle((0, 21, 42))
  5. assert triangle.vertex_indices == (0, 21, 42)
  6. def test_init_invalid_indices_len():
  7. with pytest.raises(Exception):
  8. Triangle((0, 21, 42, 84))
  9. def test_reassign_vertex_indices():
  10. triangle = Triangle((0, 21, 42))
  11. triangle.vertex_indices = (1, 2, 3)
  12. assert triangle.vertex_indices == (1, 2, 3)
  13. def test_reassign_vertex_indices_invalid_len():
  14. triangle = Triangle((0, 21, 42))
  15. with pytest.raises(Exception):
  16. triangle.vertex_indices = (1, 2, 3, 4)
  17. def test_eq():
  18. assert Triangle((0, 1, 2)) == Triangle((0, 1, 2))
  19. assert Triangle((0, 1, 2)) == Triangle((1, 2, 0))
  20. # pylint: disable=unneeded-not
  21. assert not Triangle((0, 1, 2)) == Triangle((0, 1, 4))
  22. assert not Triangle((0, 1, 2)) == Triangle((0, 4, 2))
  23. assert not Triangle((0, 1, 2)) == Triangle((4, 1, 2))
  24. def test_repr():
  25. assert repr(Triangle((0, 1, 2))) == 'Triangle(vertex_indices=(0, 1, 2))'
  26. def test_adjacent_vertex_indices_1():
  27. chain = Triangle((1, 4, 8))
  28. singles = list(chain.adjacent_vertex_indices(1))
  29. assert len(singles) == 3
  30. assert singles[0] == (1,)
  31. assert singles[1] == (4,)
  32. assert singles[2] == (8,)
  33. def test_adjacent_vertex_indices_2():
  34. chain = Triangle((1, 4, 8))
  35. pairs = list(chain.adjacent_vertex_indices(2))
  36. assert len(pairs) == 3
  37. assert pairs[0] == (1, 4)
  38. assert pairs[1] == (4, 8)
  39. assert pairs[2] == (8, 1)
  40. def test_adjacent_vertex_indices_3():
  41. chain = Triangle((1, 4, 8))
  42. triplets = list(chain.adjacent_vertex_indices(3))
  43. assert len(triplets) == 3
  44. assert triplets[0] == (1, 4, 8)
  45. assert triplets[1] == (4, 8, 1)
  46. assert triplets[2] == (8, 1, 4)
  47. def test_adjacent_vertex_indices_4():
  48. chain = Triangle((1, 4, 8))
  49. quadruples = list(chain.adjacent_vertex_indices(4))
  50. assert len(quadruples) == 3
  51. assert quadruples[0] == (1, 4, 8, 1)
  52. assert quadruples[1] == (4, 8, 1, 4)
  53. assert quadruples[2] == (8, 1, 4, 8)
  54. def test_adjacent_vertex_indices_5():
  55. chain = Triangle((1, 4, 8))
  56. quintuples = list(chain.adjacent_vertex_indices(5))
  57. assert len(quintuples) == 3
  58. assert quintuples[0] == (1, 4, 8, 1, 4)
  59. assert quintuples[1] == (4, 8, 1, 4, 8)
  60. assert quintuples[2] == (8, 1, 4, 8, 1)