public void GroupOfUnitsShouldExecuteCommand() { var map = new Map(5, 5); var collection = new UnitCollection() { new Units.Tractor(map, Orientation.North, new System.Drawing.Point(0, 0)), new Stoun(map, new System.Drawing.Point(1, 0)), new Wind(map) }; collection.ExecuteCommand(new MoveForwardCommand()); Assert.AreEqual(1, (collection.ElementAt(0) as Units.Tractor).PositionY); Assert.AreEqual(0, (collection.ElementAt(1) as Units.Stoun).PositionY); collection.ExecuteCommand(new TurnClockwiseCommand()); Assert.AreEqual(Orientation.East, (collection.ElementAt(0) as Units.Tractor).Orientation); Assert.AreEqual(Orientation.East, (collection.ElementAt(2) as Units.Wind).Orientation); }
public void TestShouldTurn() { UnitCollection collection = new UnitCollection(); Map map = new Map(5, 5); Units.Tractor tractor = new Units.Tractor(map, new Coordinates(2, 2)); Tank tank = new Tank(map, new Coordinates(3, 3)); DefenceTower tower = new DefenceTower(map, new Coordinates(5, 5)); collection.Add(tractor); collection.Add(tank); collection.Add(tower); collection.ExecuteCommand(new MoveForwardCommand()); Assert.AreEqual((uint)2, tractor.Position.X); Assert.AreEqual((uint)3, tractor.Position.Y); Assert.AreEqual((uint)3, tank.Position.X); Assert.AreEqual((uint)4, tank.Position.Y); Assert.AreEqual((uint)5, tower.Position.X); Assert.AreEqual((uint)5, tower.Position.Y); }