public void RandomLevelPlayersTest() { var factory = new RandomLevelFactory(); factory.SetPlayerFactory(new NetworkPlayerFactory(new ExitGameInteractor())); var level = factory.CreateLevel(); level.AddPlayerAtEmpty("player1"); Assert.IsTrue(level.ContainsPlayer("player1")); var player1 = level.GetPlayer("player1"); level.CurrentPlayer = player1; level.AddPlayerAtEmpty("player2"); Assert.IsTrue(level.ContainsPlayer("player2")); var player2 = level.GetPlayer("player2"); Assert.IsTrue(level.ContainsPlayer("player1")); Assert.IsFalse(level.ContainsPlayer("player3")); var player2Position = player2.Position; level.DeletePlayer(player2); Assert.IsFalse(level.ContainsPlayer("player2")); var newPlayer1 = new Player("player1", level, player2Position); level.UpdatePlayer(newPlayer1); Assert.AreNotEqual(player1.Position, level.GetPlayer("player1").Position); }
public void RandomNetworkLevelSetFactoriesTest() { var factory = new RandomLevelFactory(); factory.SetMobFactory(new NetworkMobFactory()); var level = factory.CreateLevel(); var board = level.Board; for (var i = 0; i < board.Height; i++) { for (var j = 0; j < board.Width; j++) { var position = new Position(i, j); switch (board.GetObject(position)) { case Mob mob: Assert.IsTrue(level.Mobs.Contains(mob)); Assert.IsNotInstanceOf(typeof(ConfusedMobBehaviour), mob.GetBehaviour()); break; default: Assert.True(true); break; } } } }
public void RandomLevelConfigurationTest() { var level = new RandomLevelFactory().CreateLevel(); var board = level.Board; for (var i = 0; i < board.Height; i++) { for (var j = 0; j < board.Width; j++) { var position = new Position(i, j); switch (board.GetObject(position)) { case Mob mob: Assert.IsTrue(level.Mobs.Contains(mob)); break; case EmptyCell _: Assert.IsTrue(level.Board.IsEmpty(position)); break; case Wall _: Assert.IsTrue(level.Board.IsWall(position)); break; case InventoryItem _: Assert.IsTrue(level.Board.IsInventory(position)); break; } } } }