test_interiors.py 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. # coding: utf-8
  2. from synergine2_xyz.map import TMXMap
  3. from opencc.simulation.interior import InteriorManager
  4. def test_interior_zones__one_zone():
  5. map_ = TMXMap('tests/fixtures/one_interior.tmx')
  6. manager = InteriorManager(map_)
  7. interiors = manager.get_interiors()
  8. assert interiors
  9. assert isinstance(interiors, list)
  10. assert 1 == len(interiors)
  11. assert (1, 1) in interiors[0]
  12. assert (1, 2) in interiors[0]
  13. assert (1, 3) in interiors[0]
  14. assert (2, 1) in interiors[0]
  15. assert (2, 2) in interiors[0]
  16. assert (2, 3) in interiors[0]
  17. assert (3, 1) in interiors[0]
  18. assert (3, 2) in interiors[0]
  19. assert (3, 3) in interiors[0]
  20. assert 9 == len(interiors[0])
  21. def test_interior_zones__two_separated_zones():
  22. map_ = TMXMap('tests/fixtures/two_interiors.tmx')
  23. manager = InteriorManager(map_)
  24. interiors = sorted(manager.get_interiors())
  25. assert interiors
  26. assert isinstance(interiors, list)
  27. assert 2 == len(interiors)
  28. assert (0, 1) in interiors[0]
  29. assert (1, 1) in interiors[0]
  30. assert (0, 2) in interiors[0]
  31. assert (1, 2) in interiors[0]
  32. assert (0, 3) in interiors[0]
  33. assert (1, 3) in interiors[0]
  34. assert 6 == len(interiors[0])
  35. assert (3, 1) in interiors[1]
  36. assert (4, 1) in interiors[1]
  37. assert (3, 2) in interiors[1]
  38. assert (4, 2) in interiors[1]
  39. assert (3, 3) in interiors[1]
  40. assert (4, 3) in interiors[1]
  41. assert 6 == len(interiors[1])
  42. def test_interiors_zones__side_by_side_zones_with_separator():
  43. map_ = TMXMap('tests/fixtures/side_by_side_interiors.tmx')
  44. manager = InteriorManager(map_)
  45. interiors = sorted(manager.get_interiors())
  46. assert interiors
  47. assert isinstance(interiors, list)
  48. assert 2 == len(interiors)
  49. assert (0, 1) in interiors[0]
  50. assert (1, 1) in interiors[0]
  51. assert (0, 2) in interiors[0]
  52. assert (1, 2) in interiors[0]
  53. assert (0, 3) in interiors[0]
  54. assert (1, 3) in interiors[0]
  55. assert (2, 1) in interiors[0]
  56. assert (2, 2) in interiors[0]
  57. assert (2, 3) in interiors[0]
  58. assert 9 == len(interiors[0])
  59. assert (2, 1) in interiors[1]
  60. assert (2, 2) in interiors[1]
  61. assert (2, 3) in interiors[1]
  62. assert (3, 1) in interiors[1]
  63. assert (4, 1) in interiors[1]
  64. assert (3, 2) in interiors[1]
  65. assert (4, 2) in interiors[1]
  66. assert (3, 3) in interiors[1]
  67. assert (4, 3) in interiors[1]
  68. assert 9 == len(interiors[1])
  69. def test_interiors_zones__active_zones():
  70. # active zones are zone where someone is in
  71. map_ = TMXMap('tests/fixtures/two_interiors.tmx')
  72. manager = InteriorManager(map_)
  73. interiors = manager.get_interiors(where_positions=[(0, 1)])
  74. assert (0, 1) in interiors[0]
  75. assert (1, 1) in interiors[0]
  76. assert (0, 2) in interiors[0]
  77. assert (1, 2) in interiors[0]
  78. assert (0, 3) in interiors[0]
  79. assert (1, 3) in interiors[0]
  80. assert 6 == len(interiors[0])
  81. interiors = manager.get_interiors(where_positions=[(4, 2)])
  82. assert 1 == len(interiors)
  83. assert (3, 1) in interiors[0]
  84. assert (4, 1) in interiors[0]
  85. assert (3, 2) in interiors[0]
  86. assert (4, 2) in interiors[0]
  87. assert (3, 3) in interiors[0]
  88. assert (4, 3) in interiors[0]
  89. assert 6 == len(interiors[0])
  90. interiors = manager.get_interiors(where_positions=[(0, 1), (4, 2)])
  91. assert 2 == len(interiors)
  92. assert (0, 1) in interiors[0]
  93. assert (1, 1) in interiors[0]
  94. assert (0, 2) in interiors[0]
  95. assert (1, 2) in interiors[0]
  96. assert (0, 3) in interiors[0]
  97. assert (1, 3) in interiors[0]
  98. assert 6 == len(interiors[0])
  99. assert (3, 1) in interiors[1]
  100. assert (4, 1) in interiors[1]
  101. assert (3, 2) in interiors[1]
  102. assert (4, 2) in interiors[1]
  103. assert (3, 3) in interiors[1]
  104. assert (4, 3) in interiors[1]
  105. assert 6 == len(interiors[1])