Переглянути джерело

Enable few more tests, remove workaround

Ivan Savenko 2 місяців тому
батько
коміт
e28242497f

+ 1 - 1
test/spells/effects/CloneTest.cpp

@@ -188,7 +188,7 @@ protected:
 
 };
 
-TEST_F(CloneApplyTest, DISABLED_AddsNewUnit)
+TEST_F(CloneApplyTest, AddsNewUnit)
 {
 	setDefaultExpectations();
 

+ 6 - 3
test/spells/effects/DispelTest.cpp

@@ -39,16 +39,19 @@ public:
 		EXPECT_CALL(mechanicsMock, spells()).Times(AnyNumber());
 
 		EXPECT_CALL(spellServiceMock, getById(Eq(positiveID))).WillRepeatedly(Return(&positiveSpell));
+		EXPECT_CALL(spellServiceMock, getByIndex(Eq(positiveID.getNum()))).WillRepeatedly(Return(&positiveSpell));
 		EXPECT_CALL(positiveSpell, getIndex()).WillRepeatedly(Return(positiveID.toEnum()));
 		EXPECT_CALL(positiveSpell, getPositiveness()).WillRepeatedly(Return(true));
 		EXPECT_CALL(positiveSpell, isAdventure()).WillRepeatedly(Return(false));
 
 		EXPECT_CALL(spellServiceMock, getById(Eq(negativeID))).WillRepeatedly(Return(&negativeSpell));
+		EXPECT_CALL(spellServiceMock, getByIndex(Eq(negativeID.getNum()))).WillRepeatedly(Return(&negativeSpell));
 		EXPECT_CALL(negativeSpell, getIndex()).WillRepeatedly(Return(negativeID.toEnum()));
 		EXPECT_CALL(negativeSpell, getPositiveness()).WillRepeatedly(Return(false));
 		EXPECT_CALL(negativeSpell, isAdventure()).WillRepeatedly(Return(false));
 
 		EXPECT_CALL(spellServiceMock, getById(Eq(neutralID))).WillRepeatedly(Return(&neutralSpell));
+		EXPECT_CALL(spellServiceMock, getByIndex(Eq(neutralID.getNum()))).WillRepeatedly(Return(&neutralSpell));
 		EXPECT_CALL(neutralSpell, getIndex()).WillRepeatedly(Return(neutralID.toEnum()));
 		EXPECT_CALL(neutralSpell, getPositiveness()).WillRepeatedly(Return(boost::logic::indeterminate));
 		EXPECT_CALL(neutralSpell, isAdventure()).WillRepeatedly(Return(false));
@@ -65,7 +68,7 @@ class DispelTest : public DispelFixture
 {
 };
 
-TEST_F(DispelTest, DISABLED_ApplicableToAliveUnitWithTimedEffect)
+TEST_F(DispelTest, ApplicableToAliveUnitWithTimedEffect)
 {
 	{
 		JsonNode config;
@@ -91,7 +94,7 @@ TEST_F(DispelTest, DISABLED_ApplicableToAliveUnitWithTimedEffect)
 	EXPECT_TRUE(subject->applicable(problemMock, &mechanicsMock, target));
 }
 
-TEST_F(DispelTest, DISABLED_IgnoresOwnEffects)
+TEST_F(DispelTest, IgnoresOwnEffects)
 {
 	{
 		JsonNode config;
@@ -162,7 +165,7 @@ public:
 	std::array<std::vector<Bonus>, 2> actualBonus;
 };
 
-TEST_F(DispelApplyTest, DISABLED_RemovesEffects)
+TEST_F(DispelApplyTest, RemovesEffects)
 {
 	{
 		JsonNode config;

+ 2 - 1
test/spells/effects/EffectFixture.cpp

@@ -46,7 +46,7 @@ EffectFixture::EffectFixture(std::string effectName_)
 	battleFake(),
 	effectName(effectName_)
 {
-
+	mechanicsMock.casterSide = BattleSide::ATTACKER;
 }
 
 EffectFixture::~EffectFixture() = default;
@@ -93,6 +93,7 @@ void EffectFixture::setUp()
 
 	ON_CALL(mechanicsMock, creatures()).WillByDefault(Return(&creatureServiceMock));
 	ON_CALL(creatureServiceMock, getById(_)).WillByDefault(Return(&creatureStub));
+	ON_CALL(creatureServiceMock, getByIndex(_)).WillByDefault(Return(&creatureStub));
 
 	ON_CALL(serverMock, getRNG()).WillByDefault(Return(&rngMock));
 

+ 2 - 2
test/spells/effects/HealTest.cpp

@@ -325,7 +325,7 @@ protected:
 	}
 };
 
-TEST_P(HealApplyTest, DISABLED_Heals)
+TEST_P(HealApplyTest, Heals)
 {
 	{
 		JsonNode config;
@@ -373,7 +373,7 @@ TEST_P(HealApplyTest, DISABLED_Heals)
 
 	EXPECT_CALL(*battleFake, setUnitState(Eq(unitId), _, Gt(0))).Times(1);
 
-	EXPECT_CALL(actualCaster, getCasterUnitId()).WillRepeatedly(Return(-1));
+	EXPECT_CALL(actualCaster, getCasterUnitId()).WillRepeatedly(Return(CreatureID(unitId)));
 
 	EXPECT_CALL(serverMock, apply(Matcher<BattleUnitsChanged &>(_))).Times(1);
 	EXPECT_CALL(serverMock, apply(Matcher<BattleLogMessage &>(_))).Times(AtLeast(1));

+ 11 - 3
test/spells/effects/SummonTest.cpp

@@ -24,6 +24,7 @@ using namespace ::testing;
 
 static const CreatureID creature1(CreatureID::AIR_ELEMENTAL);
 static const CreatureID creature2(CreatureID::FIRE_ELEMENTAL);
+static const int summonSpellPower = 100; // enough to summon at least 1 unit
 
 class SummonTest : public TestWithParam<::testing::tuple<CreatureID, bool, bool>>, public EffectFixture
 {
@@ -82,7 +83,7 @@ protected:
 	}
 };
 
-TEST_P(SummonTest, DISABLED_Applicable)
+TEST_P(SummonTest, Applicable)
 {
 	const bool expectedApplicable = !exclusive || otherSummoned == CreatureID() || otherSummoned == toSummon;
 
@@ -98,11 +99,14 @@ TEST_P(SummonTest, DISABLED_Applicable)
 		EXPECT_CALL(*battleFake, getUnitsIf(_)).Times(0);
 
 	EXPECT_CALL(mechanicsMock, getCasterColor()).WillRepeatedly(Return(PlayerColor(5)));
+	EXPECT_CALL(mechanicsMock, getEffectPower()).WillRepeatedly(Return(summonSpellPower));
+	EXPECT_CALL(mechanicsMock, calculateRawEffectValue(0, summonSpellPower)).WillRepeatedly(Return(summonSpellPower));
+	EXPECT_CALL(mechanicsMock, applySpecificSpellBonus(summonSpellPower)).WillRepeatedly(Return(summonSpellPower));
 
 	EXPECT_EQ(expectedApplicable, subject->applicable(problemMock, &mechanicsMock));
 }
 
-TEST_P(SummonTest, DISABLED_Transform)
+TEST_P(SummonTest, Transform)
 {
 	if(otherSummoned != CreatureID())
 		addOtherSummoned(true);
@@ -111,6 +115,9 @@ TEST_P(SummonTest, DISABLED_Transform)
 	EXPECT_CALL(*battleFake, getUnitsIf(_)).Times(AtLeast(1));
 
 	EXPECT_CALL(mechanicsMock, getCasterColor()).WillRepeatedly(Return(PlayerColor(5)));
+	EXPECT_CALL(mechanicsMock, getEffectPower()).WillRepeatedly(Return(summonSpellPower));
+	EXPECT_CALL(mechanicsMock, calculateRawEffectValue(0, summonSpellPower)).WillRepeatedly(Return(summonSpellPower));
+	EXPECT_CALL(mechanicsMock, applySpecificSpellBonus(summonSpellPower)).WillRepeatedly(Return(summonSpellPower));
 
 	EffectTarget transformed = subject->transformTarget(&mechanicsMock, Target(), Target());
 
@@ -168,6 +175,7 @@ public:
 	{
 		EXPECT_CALL(mechanicsMock, creatures()).Times(AnyNumber());
 		EXPECT_CALL(creatureServiceMock, getById(Eq(toSummon))).WillRepeatedly(Return(&toSummonType));
+		EXPECT_CALL(creatureServiceMock, getByIndex(Eq(toSummon.getNum()))).WillRepeatedly(Return(&toSummonType));
 		EXPECT_CALL(toSummonType, getMaxHealth()).WillRepeatedly(Return(unitHealth));
 
 		expectAmountCalculation();
@@ -200,7 +208,7 @@ protected:
 		EffectFixture::setUp();
 
 		permanent = ::testing::get<0>(GetParam());
-		summonByHealth = false;// ::testing::get<1>(GetParam());
+		summonByHealth = ::testing::get<1>(GetParam());
 
 		JsonNode options;
 		options["id"].String() = "airElemental";