public void Simple() { var attacker = new SimpleCombatUnit(0); var victim = new SimpleBuildingUnit(1); State.AddUnit(attacker, new Vector2(0, 0)); State.AddUnit(victim, new Vector2(0.5, 0.5) * attacker.FireRadius); Engine.SetUnitAttacking(State, attacker, victim); FullUpdate(); Assert.False(State.Units.Contains(victim)); }
public void UnitCannotMove_NothingChaged() { var attacker = new SimpleCombatUnit(0); var victim = new SimpleBuildingUnit(1); var attackerStartPos = new Vector2(0, 0); var buildingPos = new Vector2(2, 2) * attacker.FireRadius; State.AddUnit(attacker, attackerStartPos); State.AddUnit(victim, buildingPos); Engine.SetUnitAttacking(State, attacker, victim); Assert.AreEqual(attackerStartPos, attacker.Position); Assert.Contains(victim, State.Units); }
public void OneBarrier() { var unit = new SimpleMovableUnit(0); var building = new SimpleBuildingUnit(1); var start = new Vector2(0, 0); State.AddUnit(unit, start); State.AddUnit(building, new Vector2(25, 25)); var finish = new Vector2(100, 100); Engine.SetUnitMovingTo(State, unit, finish); var количествоЦиклов = (int)(GeometryMethods.GetDistance(start, finish) / unit.Speed) + 1; FullUpdate(количествоЦиклов); Assert.AreNotEqual(finish, State.GetUnit(0).Position); }
public void UnitGoToTarget() { var attacker = new SimpleCombatMovableUnit(0); var victim = new SimpleBuildingUnit(1); var attackerStartPos = new Vector2(0, 0); var buildingPos = new Vector2(2, 2) * attacker.FireRadius; State.AddUnit(attacker, attackerStartPos); State.AddUnit(victim, buildingPos); Engine.SetUnitAttacking(State, attacker, victim); FullUpdate(); Assert.False(State.Units.Contains(victim)); Assert.AreNotEqual(attackerStartPos, attacker.Position); Assert.AreNotEqual(buildingPos, attacker.Position); }