public void VerifyThatListOfItemsIsSuitablyAdjustedWhenGameObjectMovesFromAnAdditionalOccupiedSpaceToFreeSpace() { var g = new GameForUnitTests(); var instructions = new[] { new PlayerController.TimedInstruction(TimeSpan.Zero, PlayerController.Instruction.Move(Direction.Right)) }; g.UnitTestServices.PlayerController.Enqueue(instructions); g.LoadLevel("p "); GlobalServices.GameState.AddGrave(new TilePos(0, 0)); g.RunTest(); var list = GlobalServices.GameState.GetItemsOnTile(new TilePos(0, 0)).ToList(); Assert.IsNotNull(list); Assert.AreEqual(1, list.Count); Assert.IsTrue(list[0] is Grave); list = GlobalServices.GameState.GetItemsOnTile(new TilePos(1, 0)).ToList(); Assert.NotNull(list); Assert.AreEqual(1, list.Count); Assert.IsTrue(list[0] is Player); }
public void TestPlayerCannotShootBoulder3() { var g = new GameForUnitTests(); var instructions = new[] { new PlayerController.TimedInstruction(TimeSpan.Zero, PlayerController.Instruction.Fire(Direction.Left)) }; g.UnitTestServices.PlayerController.Enqueue(instructions); g.LoadLevel("# bbp "); g.RunTest(); Assert.IsFalse(GlobalServices.GameState.DoesShotExist()); var list = GlobalServices.GameState.GetItemsOnTile(new TilePos(2, 0)).ToList(); Assert.IsNotEmpty(list); Assert.AreEqual(1, list.Count); Assert.IsTrue(list[0] is Boulder); list = GlobalServices.GameState.GetItemsOnTile(new TilePos(3, 0)).ToList(); Assert.IsNotEmpty(list); Assert.AreEqual(1, list.Count); Assert.IsTrue(list[0] is Boulder); }
public void TestPlayerBouncesOneBoulderAndEndsUpPushingAnother() { var g = new GameForUnitTests(); var instructions = new[] { new PlayerController.TimedInstruction(TimeSpan.Zero, PlayerController.Instruction.Move(Direction.Left)) }; g.UnitTestServices.PlayerController.Enqueue(instructions); g.LoadLevel("#bpb #"); g.RunTest(); var list = GlobalServices.GameState.GetItemsOnTile(new TilePos(1, 0)).ToList(); Assert.NotNull(list); Assert.IsEmpty(list); list = GlobalServices.GameState.GetItemsOnTile(new TilePos(2, 0)).ToList(); Assert.NotNull(list); Assert.AreEqual(1, list.Count); Assert.IsTrue(list[0] is Boulder); list = GlobalServices.GameState.GetItemsOnTile(new TilePos(3, 0)).ToList(); Assert.NotNull(list); Assert.AreEqual(1, list.Count); Assert.IsTrue(list[0] is Player); list = GlobalServices.GameState.GetItemsOnTile(new TilePos(4, 0)).ToList(); Assert.NotNull(list); Assert.AreEqual(1, list.Count); Assert.IsTrue(list[0] is Boulder); }
public void VerifyThatTheListOfItemsMovesWhenGameObjectMovesToAnAdjacentEmptySpace() { var g = new GameForUnitTests(); var instructions = new[] { new PlayerController.TimedInstruction(TimeSpan.Zero, PlayerController.Instruction.Move(Direction.Right)) }; g.UnitTestServices.PlayerController.Enqueue(instructions); g.LoadLevel("p "); var p = GlobalServices.GameState.Player; g.RunTest(); Assert.IsEmpty(GlobalServices.GameState.GetItemsOnTile(new TilePos(0, 0))); var list = GlobalServices.GameState.GetItemsOnTile(new TilePos(1, 0)).ToList(); Assert.IsNotEmpty(list); Assert.IsTrue(list.SequenceEqual(new List <StaticItem> { p })); }