ResourceTraderTest.cpp 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * RecruitHeroBehaviorTest.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. #include "AI/Nullkiller2/Behaviors/RecruitHeroBehavior.h"
  10. #include "AI/Nullkiller2/Engine/Nullkiller.h"
  11. #include "Global.h"
  12. #include "gmock/gmock.h"
  13. #include "gtest/gtest.h"
  14. class MockMarket : public IMarket
  15. {
  16. public:
  17. explicit MockMarket(IGameInfoCallback * cb)
  18. : IMarket(cb)
  19. {
  20. }
  21. ~MockMarket() override = default;
  22. MOCK_METHOD(bool, getOffer, (int id1, int id2, int & val1, int & val2, EMarketMode mode), ());
  23. ObjectInstanceID getObjInstanceID() const override;
  24. int getMarketEfficiency() const override;
  25. std::set<EMarketMode> availableModes() const override;
  26. };
  27. TEST(Nullkiller2_Engine_ResourceTrader, tradeHelper)
  28. {
  29. // auto * const market = new MockMarket(nullptr);
  30. // EXPECT_CALL(*market, getOffer(testing::internal::Any, testing::internal::Any, testing::internal::Any, testing::internal::Any, EMarketMode::RESOURCE_RESOURCE)).Times(1);
  31. // market->getOffer(0, 0, 0, 0, EMarketMode::RESOURCE_RESOURCE);
  32. // delete market;
  33. }
  34. TResources res(const int wood, const int mercury, const int ore, const int sulfur, const int crystals, const int gems, const int gold, const int mithril)
  35. {
  36. TResources resources;
  37. resources[0] = wood;
  38. resources[1] = mercury;
  39. resources[2] = ore;
  40. resources[3] = sulfur;
  41. resources[4] = crystals;
  42. resources[5] = gems;
  43. resources[6] = gold;
  44. resources[7] = mithril;
  45. return resources;
  46. }
  47. // Nullkiller::handleTrading Free [13919, 13883, 13921, 13857, 13792, 13883, 14, 0]. FreeAfterMissingTotal [13859, 13819, 13891, 13833, 13718, 13763, 0, 0]. MissingNow [0, 0, 0, 0, 0, 0, 193445, 0]
  48. // Nullkiller::handleTrading Traded 1547 of 2 for 125 of 6
  49. // Nullkiller::handleTrading Free [13919, 13883, 13921, 13857, 13792, 13883, 14, 0]. FreeAfterMissingTotal [13859, 13819, 12344, 13833, 13718, 13763, 0, 0]. MissingNow [0, 0, 0, 0, 0, 0, 70, 0]
  50. // Nullkiller::handleTrading Traded 1 of 0 for 125 of 6
  51. // Nullkiller::handleTrading Free [13908, 13883, 12374, 13857, 13722, 13883, 414, 0]. FreeAfterMissingTotal [13848, 13819, 12344, 13833, 13648, 13763, 0, 0]. MissingNow [0, 0, 0, 0, 0, 0, 193075, 0]
  52. // Nullkiller::handleTrading Traded 1544 of 0 for 125 of 6
  53. // Nullkiller::handleTrading Free [13908, 13883, 12374, 13857, 13722, 13883, 414, 0]. FreeAfterMissingTotal [12304, 13819, 12344, 13833, 13648, 13763, 0, 0]. MissingNow [0, 0, 0, 0, 0, 0, 75, 0]
  54. // Nullkiller::handleTrading Traded 1 of 3 for 250 of 6
  55. // Nullkiller::handleTrading Free [12364, 13883, 12374, 13841, 13722, 13883, 24, 0]. FreeAfterMissingTotal [12304, 13819, 12344, 13817, 13648, 13763, 0, 0]. MissingNow [0, 0, 0, 0, 0, 0, 193465, 0]
  56. // Nullkiller::handleTrading Traded 773 of 1 for 250 of 6
  57. // Nullkiller::handleTrading Free [12364, 13883, 12374, 13841, 13722, 13883, 24, 0]. FreeAfterMissingTotal [12304, 13046, 12344, 13817, 13648, 13763, 0, 0]. MissingNow [0, 0, 0, 0, 0, 0, 215, 0]
  58. // Nullkiller::handleTrading Traded 1 of 3 for 250 of 6
  59. // Nullkiller::handleTrading Free [12364, 13110, 12374, 13837, 13722, 13883, 52524, 0]. FreeAfterMissingTotal [12304, 13046, 12344, 13813, 13648, 13763, 0, 0]. MissingNow [0, 0, 0, 0, 0, 0, 140965, 0]
  60. // Nullkiller::handleTrading Traded 563 of 3 for 250 of 6
  61. // Nullkiller::handleTrading Free [12364, 13110, 12374, 13837, 13722, 13883, 52524, 0]. FreeAfterMissingTotal [12304, 13046, 12344, 13250, 13648, 13763, 0, 0]. MissingNow [0, 0, 0, 0, 0, 0, 215, 0]
  62. // Nullkiller::handleTrading Traded 1 of 5 for 250 of 6