コード例 #1
0
        public void DefenseBonus_WhenThreeEffectsFound_ShouldReturnTheSum(ushort targetType, ICombatObject target, StubCityCombatObject cityCombatObject)
        {
            List <Effect> effects = new List <Effect>
            {
                new Effect {
                    Value = new object[] { (int)targetType, 2 }
                },
                new Effect {
                    Value = new object[] { (int)targetType, 3 }
                },
                new Effect {
                    Value = new object[] { (int)targetType, 4 }
                },
            };

            target.Type.Returns(targetType);
            cityCombatObject.City.Technologies.GetEffects(EffectCode.DefenseBonus).Returns(effects);
            cityCombatObject.DefenseBonus(target).Should().Be(0.09m);
        }
コード例 #2
0
        public void AttackBonus_WhenValueIs101_ShouldReturn100(ushort targetType, ICombatObject target, StubCityCombatObject cityCombatObject)
        {
            List <Effect> effects = new List <Effect>
            {
                new Effect {
                    Value = new object[] { (int)targetType, 101 }
                },
            };

            target.Type.Returns(targetType);
            cityCombatObject.City.Technologies.GetEffects(EffectCode.AttackBonus).Returns(effects);
            cityCombatObject.AttackBonus(target).Should().Be(1m);
        }
コード例 #3
0
 public void DefenseBonus_WhenNoEffectFound_ShouldReturn0(ICombatObject target, StubCityCombatObject cityCombatObject)
 {
     cityCombatObject.City.Technologies.GetEffects(EffectCode.DefenseBonus).Returns(new List <Effect>());
     cityCombatObject.DefenseBonus(target).Should().Be(0);
 }
コード例 #4
0
        public void AttackBonus_WhenOneEffectFound_ShouldReturn0_02(ushort targetType, ICombatObject target, StubCityCombatObject cityCombatObject)
        {
            List <Effect> effects = new List <Effect>
            {
                new Effect {
                    Value = new object[] { (int)targetType, 2 }
                }
            };

            target.Type.Returns(targetType);
            cityCombatObject.City.Technologies.GetEffects(EffectCode.AttackBonus).Returns(effects);
            cityCombatObject.AttackBonus(target).Should().Be(0.02m);
        }