2
0

battle_UnitTest.cpp 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /*
  2. * battle_UnitTest.cpp, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #include "StdInc.h"
  11. #include "../../lib/battle/Unit.h"
  12. TEST(battle_Unit_getSurroundingHexes, oneWide)
  13. {
  14. BattleHex position(77);
  15. auto actual = battle::Unit::getSurroundingHexes(position, false, BattleSide::ATTACKER);
  16. EXPECT_EQ(actual, position.getNeighbouringTiles());
  17. }
  18. TEST(battle_Unit_getSurroundingHexes, oneWideLeftCorner)
  19. {
  20. BattleHex position(34);
  21. auto actual = battle::Unit::getSurroundingHexes(position, false, BattleSide::ATTACKER);
  22. EXPECT_EQ(actual, position.getNeighbouringTiles());
  23. }
  24. TEST(battle_Unit_getSurroundingHexes, oneWideRightCorner)
  25. {
  26. BattleHex position(117);
  27. auto actual = battle::Unit::getSurroundingHexes(position, false, BattleSide::ATTACKER);
  28. EXPECT_EQ(actual, position.getNeighbouringTiles());
  29. }
  30. TEST(battle_Unit_getSurroundingHexes, doubleWideAttacker)
  31. {
  32. BattleHex position(77);
  33. auto actual = battle::Unit::getSurroundingHexes(position, true, BattleSide::ATTACKER);
  34. static const BattleHexArray expected =
  35. {
  36. 60,
  37. 61,
  38. 78,
  39. 95,
  40. 94,
  41. 93,
  42. 75,
  43. 59
  44. };
  45. EXPECT_EQ(actual, expected);
  46. }
  47. TEST(battle_Unit_getSurroundingHexes, doubleWideLeftCorner)
  48. {
  49. BattleHex position(52);
  50. auto actualAtt = battle::Unit::getSurroundingHexes(position, true, BattleSide::ATTACKER);
  51. static const BattleHexArray expectedAtt =
  52. {
  53. 35,
  54. 53,
  55. 69
  56. };
  57. EXPECT_EQ(actualAtt, expectedAtt);
  58. auto actualDef = battle::Unit::getSurroundingHexes(position, true, BattleSide::DEFENDER);
  59. static const BattleHexArray expectedDef =
  60. {
  61. 35,
  62. 36,
  63. 54,
  64. 70,
  65. 69
  66. };
  67. EXPECT_EQ(actualDef, expectedDef);
  68. }
  69. TEST(battle_Unit_getSurroundingHexes, doubleWideRightCorner)
  70. {
  71. BattleHex position(134);
  72. auto actualAtt = battle::Unit::getSurroundingHexes(position, true, BattleSide::ATTACKER);
  73. static const BattleHexArray expectedAtt =
  74. {
  75. 116,
  76. 117,
  77. 151,
  78. 150,
  79. 149,
  80. 132,
  81. 115
  82. };
  83. EXPECT_EQ(actualAtt, expectedAtt);
  84. auto actualDef = battle::Unit::getSurroundingHexes(position, true, BattleSide::DEFENDER);
  85. static const BattleHexArray expectedDef =
  86. {
  87. 116,
  88. 117,
  89. 151,
  90. 150,
  91. 133
  92. };
  93. EXPECT_EQ(actualDef, expectedDef);
  94. }
  95. TEST(battle_Unit_getSurroundingHexes, doubleWideDefender)
  96. {
  97. BattleHex position(77);
  98. auto actual = battle::Unit::getSurroundingHexes(position, true, BattleSide::DEFENDER);
  99. static const BattleHexArray expected =
  100. {
  101. 60,
  102. 61,
  103. 62,
  104. 79,
  105. 96,
  106. 95,
  107. 94,
  108. 76,
  109. };
  110. EXPECT_EQ(actual, expected);
  111. }