コード例 #1
0
ファイル: TestDamage.cs プロジェクト: JonasGoldt/TDGD_TD
        public void DamageEqualsAndHashCode()
        {
            Damage damage = new Damage(DamageType.Chaos, 10, 2);

            //Using IsTrue/IsFalse to cover all paths (aren't covered, when using Equals)
            //Equal tests
            Assert.IsTrue(damage.Equals(damage));
            Assert.AreEqual(damage.GetHashCode(), damage.GetHashCode());

            object equal = new Damage(DamageType.Chaos, 10, 2);
            Assert.IsTrue(damage.Equals(equal));
            Assert.AreEqual(equal.GetHashCode(), damage.GetHashCode());

            //Not equal tests
            Assert.IsFalse(damage.Equals(null));

            object notEqual = new object();
            Assert.IsFalse(damage.Equals(notEqual));
            Assert.AreNotEqual(notEqual.GetHashCode(), damage.GetHashCode());

            notEqual = new Damage(DamageType.Magic, 10, 2);
            Assert.IsFalse(damage.Equals(notEqual));
            Assert.AreNotEqual(notEqual.GetHashCode(), damage.GetHashCode());

            notEqual = new Damage(DamageType.Chaos, 5, 2);
            Assert.IsFalse(damage.Equals(notEqual));
            Assert.AreNotEqual(notEqual.GetHashCode(), damage.GetHashCode());

            notEqual = new Damage(DamageType.Chaos, 10, 0);
            Assert.IsFalse(damage.Equals(notEqual));
            Assert.AreNotEqual(notEqual.GetHashCode(), damage.GetHashCode());
        }
コード例 #2
0
ファイル: TestHealth.cs プロジェクト: JonasGoldt/TDGD_TD
        public void DoDamage()
        {
            Damage evenDamage = new Damage(DamageType.Chaos, 20, 0);
            Damage unevenDamage = new Damage(DamageType.Chaos, 25, 0);
            Damage moreThanEnoughDamage = new Damage(DamageType.Chaos, 111, 0);

            //Test health with an armor mock
            Health armoredHealth = new Health(100, new KillableMock(), new ArmorMock());

            armoredHealth.DoDamage(evenDamage);
            Assert.AreEqual<int>(100 - 10, armoredHealth.Amount);

            armoredHealth.DoDamage(unevenDamage);
            Assert.AreEqual<int>(100 - 10 - 12, armoredHealth.Amount);

            //Test health with no armor
            Health nullArmorHealth = new Health(100, new KillableMock(), null);

            nullArmorHealth.DoDamage(evenDamage);
            Assert.AreEqual<int>(100 - 20, nullArmorHealth.Amount);

            nullArmorHealth.DoDamage(unevenDamage);
            Assert.AreEqual<int>(100 - 20 - 25, nullArmorHealth.Amount);

            //Test health with no armor and try to do more damage than possible,
            //check if Health is negative
            nullArmorHealth.DoDamage(moreThanEnoughDamage);
            Assert.AreEqual<int>(0, nullArmorHealth.Amount);
        }
コード例 #3
0
ファイル: TestDamage.cs プロジェクト: JonasGoldt/TDGD_TD
        public void DamageCreation()
        {
            Damage damage = new Damage(DamageType.Pierce, 15, 0);
            Assert.AreEqual<DamageType>(DamageType.Pierce, damage.Type);
            Assert.AreEqual<int>(15, damage.Amount);
            Assert.AreEqual<double>(0, damage.Area);

            try {
                damage = new Damage(DamageType.Pierce, -10, 0);
                Assert.Fail("Damages with a negative amount aren't allowed");
            } catch (ArgumentException) {
                //Do nothing here
            }

            try {
                damage = new Damage(DamageType.Pierce, 10, -10);
                Assert.Fail("Damages with a negative area aren't allowed");
            } catch (ArgumentException) {
                //Do nothing here
            }
        }
コード例 #4
0
ファイル: TestHealth.cs プロジェクト: JonasGoldt/TDGD_TD
 public override int RecalculateDamage(Damage damage)
 {
     return (int) (damage.Amount * 0.5);
 }
コード例 #5
0
ファイル: TestArmor.cs プロジェクト: JonasGoldt/TDGD_TD
        public void SetUp()
        {
            //Create the damages
            int amount = 100;

            Pierce = new Damage(DamageType.Pierce, amount, 0);
            Siege = new Damage(DamageType.Siege, amount, 0);
            Magic = new Damage(DamageType.Magic, amount, 0);
            Chaos = new Damage(DamageType.Chaos, amount, 0);
        }