CSpellTest.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * CSpellTest.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/spells/CSpellHandler.h"
  12. namespace test
  13. {
  14. using namespace ::spells;
  15. using namespace ::testing;
  16. class CSpellTest : public Test
  17. {
  18. public:
  19. MOCK_METHOD4(registarCb, void(int32_t, int32_t, const std::string &, const std::string &));
  20. std::shared_ptr<CSpell> subject;
  21. protected:
  22. void SetUp() override
  23. {
  24. subject = std::make_shared<CSpell>();
  25. subject->iconBook = "Test1";
  26. subject->iconEffect = "Test2";
  27. subject->iconScenarioBonus = "Test3";
  28. subject->iconScroll = "Test4";
  29. }
  30. };
  31. TEST_F(CSpellTest, RegistersIcons)
  32. {
  33. subject->id = SpellID(42);
  34. auto cb = std::bind(&CSpellTest::registarCb, this, _1, _2, _3, _4);
  35. EXPECT_CALL(*this, registarCb(Eq(42), Eq(0), "SPELLS", "Test1"));
  36. EXPECT_CALL(*this, registarCb(Eq(43), Eq(0), "SPELLINT", "Test2"));
  37. EXPECT_CALL(*this, registarCb(Eq(42), Eq(0), "SPELLBON", "Test3"));
  38. EXPECT_CALL(*this, registarCb(Eq(42), Eq(0), "SPELLSCR", "Test4"));
  39. subject->registerIcons(cb);
  40. }
  41. }