FightingDragonTests ClassDelta Engine Documentation
Inheritance Hierarchy

System Object
  DeltaEngine.Platforms TestWithMocksOrVisually
    CreepyTowers.Tests TestWithCreepyTowersMockContentLoaderOrVisually
      CreepyTowers.Tests CreepyTowersGameForTests
        CreepyTowers.Tests.Avatars FightingDragonTests

Namespace: CreepyTowers.Tests.Avatars
Assembly: CreepyTowers.Tests (in CreepyTowers.Tests.dll) Version: 1.1.1.0 (1.1.1)
Syntax

public class FightingDragonTests : CreepyTowersGameForTests

The FightingDragonTests type exposes the following members.

Constructors

  NameDescription
Public methodFightingDragonTests
Initializes a new instance of the FightingDragonTests class
Top
Methods

  NameDescription
Protected methodAdvanceTimeAndUpdateEntities (Inherited from TestWithMocksOrVisually.)
Public methodDispose (Inherited from CreepyTowersGameForTests.)
Public methodInitialize (Inherited from CreepyTowersGameForTests.)
Public methodInitializeCreepyTowersMockContentLoader (Inherited from TestWithCreepyTowersMockContentLoaderOrVisually.)
Public methodInitializeResolver (Inherited from TestWithMocksOrVisually.)
Public methodPerformAuraCannonAttack
Public methodPerformBreathOfFireAttack
Protected methodRegisterMock T  (Inherited from TestWithMocksOrVisually.)
Protected methodResolve T  (Inherited from TestWithMocksOrVisually.)
Protected methodRunAfterFirstFrame (Inherited from TestWithMocksOrVisually.)
Public methodRunTestAndDisposeResolverWhenDone (Inherited from TestWithMocksOrVisually.)
Public methodSetUp
Public methodWithFightingDragonTowerHasExtendedRange
Public methodWithoutFightingDragonTowerHasDefaultRange
Top
Fields

  NameDescription
Protected fieldgame (Inherited from CreepyTowersGameForTests.)
Top
Properties

  NameDescription
Protected propertyIsMockResolver (Inherited from TestWithMocksOrVisually.)
Top
Examples

[Test]
public void WithoutFightingDragonTowerHasDefaultRange()
{
    player.UnlockAvatar(CreepyTowers.Content.Avatars.PiggyBank);
    player.ChangeAvatar(CreepyTowers.Content.Avatars.PiggyBank);
    var tower = new Tower(TowerType.Fire, Vector3D.Zero);
    var towerProperties = ContentLoader.Load<TowerPropertiesXml>(Xml.TowerProperties.ToString());
    var defaultRange = towerProperties.Get(TowerType.Fire).Range;
    Assert.AreEqual(defaultRange, tower.GetStatValue("Range"));
}
[Test]
public void WithFightingDragonTowerHasExtendedRange()
{
    var tower = new Tower(TowerType.Fire, Vector3D.Zero);
    var towerProperties = ContentLoader.Load<TowerPropertiesXml>(Xml.TowerProperties.ToString());
    var defaultRange = towerProperties.Get(TowerType.Fire).Range;
    Assert.AreEqual(defaultRange * 1.25f, tower.GetStatValue("Range"));
}
[Test]
public void PerformBreathOfFireAttack()
{
    var creepOutsideRange = new Creep(CreepType.Paper, new Vector2D(3, 3));
    var creepInsideRange = new Creep(CreepType.Paper, new Vector2D(2, 2));
    player.Avatar.PerformAttack(AvatarAttack.DragonBreathOfFire, new Vector2D(1, 1));
    Assert.AreEqual(1, creepOutsideRange.GetStatPercentage("Hp"));
    AdvanceTimeAndUpdateEntities(Dragon.BreathOfFireTimeTillImpact + 0.15f);
    Assert.Less(creepInsideRange.GetStatPercentage("Hp"), 1);
}
[Test]
public void PerformAuraCannonAttack()
{
    var creepOutsideRange = new Creep(CreepType.Paper, new Vector2D(1, 4));
    var creepInsideRange = new Creep(CreepType.Paper, new Vector2D(2, 2));
    player.Avatar.PerformAttack(AvatarAttack.DragonAuraCannon, new Vector2D(1, 2));
    Assert.AreEqual(0.933f, creepOutsideRange.GetStatPercentage("Hp"), 0.001f);
    Assert.Less(creepInsideRange.GetStatPercentage("Hp"), 1);
    AdvanceTimeAndUpdateEntities(0.1f);
}
See Also