public void InventoryInteractorPutOffTest() { var playView = new VoidView(); var inventoryInteractor = new InventoryInteractor(level, playView); Assert.AreEqual(3, confusedLevel.CurrentPlayer.GetInventory().Count); Assert.AreEqual(1, confusedLevel.CurrentPlayer.GetAppliedInventory().Count); Assert.IsInstanceOf(typeof(IncreaseHealthItem), confusedLevel.CurrentPlayer.GetAppliedInventory()[0]); var beforeStatistics = confusedLevel.CurrentPlayer.GetStatistics().Clone() as CharacterStatistics; var inventoryPosition = confusedLevel.CurrentPlayer.GetAppliedInventory()[0].Position; confusedLevel.Board.IsEmpty(inventoryPosition); inventoryInteractor.PutOff(confusedLevel.CurrentPlayer, confusedLevel.CurrentPlayer.GetAppliedInventory()[0].GetStringType()); Assert.AreEqual(3, confusedLevel.CurrentPlayer.GetInventory().Count); Assert.AreEqual(0, confusedLevel.CurrentPlayer.GetAppliedInventory().Count); var afterStatistics = confusedLevel.CurrentPlayer.GetStatistics(); confusedLevel.Board.IsInventory(inventoryPosition); Assert.AreEqual(beforeStatistics.Experience, afterStatistics.Experience); Assert.AreEqual(beforeStatistics.Force, afterStatistics.Force); Assert.AreEqual(beforeStatistics.Health - 3, afterStatistics.Health); }
public void SpawnPlayerInteractorTest() { var playerView = new VoidView(); var spawnPlayerInteractor = new SpawnPlayerInteractor(level, playerView); spawnPlayerInteractor.Spawn(new Position(1, 1), "newplayer"); Assert.IsTrue(level.ContainsPlayer("newplayer")); spawnPlayerInteractor.DeletePlayer("newplayer"); Assert.IsFalse(level.ContainsPlayer("newplayer")); }
public void ConfusedNetworkPlayerMoveInteractorTest() { var playView = new VoidView(); var playerMoveInteractor = new NetworkPlayerMoveInteractor(confusedLevel, playView); var oldPosition = confusedLevel.CurrentPlayer.Position; playerMoveInteractor.IntentMove(confusedLevel.CurrentPlayer, 0, 1); var newPosition = confusedLevel.CurrentPlayer.Position; Assert.IsTrue(Math.Abs(oldPosition.X - newPosition.X) <= 1); Assert.IsTrue(Math.Abs(oldPosition.Y - newPosition.Y) <= 1); }
public void PlayerMoveInteractorTest() { var playView = new VoidView(); var playerMoveInteractor = new PlayerMoveInteractor(level, playView); var oldPosition = level.CurrentPlayer.Position; playerMoveInteractor.IntentMove(level.CurrentPlayer, 0, 1); var newPosition = level.CurrentPlayer.Position; Assert.AreEqual(oldPosition.X + 1, newPosition.X); Assert.AreEqual(oldPosition.Y, newPosition.Y); }
public void InvokeState() { var level = levelFactory.CreateLevel(); var inputLoop = new InputLoop(); var playView = new VoidView(); var inputController = new ServerInputController(level, newSessionId, inputService); var exitGameInteractor = new ExitGameInteractor(level, inputController); var playerMoveInteractor = new PlayerMoveInteractor(level, playView, inputController); var mobMoveInteractor = new MobMoveInteractor(level, playView, inputController); var inventoryInteractor = new InventoryInteractor(level, playView); levelFactory.SetPlayerFactory(new NetworkPlayerFactory(exitGameInteractor)); var moveProcessor = new MoveProcessor(playerMoveInteractor); var exitGameProcessor = new ExitGameProcessor(exitGameInteractor); var inventoryProcessor = new InventoryProcessor(inventoryInteractor, inputController); var tickController = new TickController(); inputController.AddInputProcessor(moveProcessor); inputController.AddInputProcessor(inventoryProcessor); inputController.AddInputProcessor(exitGameProcessor); inputLoop.AddFixedUpdatable(tickController); inputLoop.AddUpdatable(inputController); level.CurrentPlayer = new Player(DummyLogin, level, new Position(-1, -1)); var mobs = level.Mobs; foreach (var mob in mobs) { var mobMoveProcessor = new MobMoveProcessor(mob, mobMoveInteractor); tickController.AddTickProcessor(mobMoveProcessor); mob.OnDie += (sender, args) => { level.Mobs.Remove(mob); tickController.RemoveTickProcessor(mobMoveProcessor); }; } inputLoop.Start(); }
public void InventoryInteractorPutOnTest() { var playView = new VoidView(); var inventoryInteractor = new InventoryInteractor(level, playView); Assert.AreEqual(3, level.CurrentPlayer.GetInventory().Count); Assert.AreEqual(1, level.CurrentPlayer.GetAppliedInventory().Count); Assert.IsInstanceOf(typeof(IncreaseForceItem), level.CurrentPlayer.GetInventory()[2]); var beforeStatistics = level.CurrentPlayer.GetStatistics().Clone() as CharacterStatistics; inventoryInteractor.PutOn(level.CurrentPlayer, level.CurrentPlayer.GetInventory()[2].GetStringType()); Assert.AreEqual(2, level.CurrentPlayer.GetInventory().Count); Assert.AreEqual(2, level.CurrentPlayer.GetAppliedInventory().Count); var afterStatistics = level.CurrentPlayer.GetStatistics(); Assert.AreEqual(beforeStatistics.Health, afterStatistics.Health); Assert.AreEqual(beforeStatistics.Experience, afterStatistics.Experience); Assert.AreEqual(beforeStatistics.Force + 3, afterStatistics.Force); }
public void NetworkMobMoveInteractorTest() { var playView = new VoidView(); var mobMoveInteractor = new NetworkMobMoveInteractor(level, playView); var cowardMob = level.Mobs[0]; var oldPosition = cowardMob.Position; mobMoveInteractor.IntentMove(cowardMob, 1, 0); var newPosition = cowardMob.Position; Assert.AreEqual(oldPosition.X, newPosition.X); Assert.AreEqual(oldPosition.Y, newPosition.Y); var aggressiveMob = level.Mobs[5]; oldPosition = aggressiveMob.Position; mobMoveInteractor.IntentMove(aggressiveMob, 0, 1); newPosition = aggressiveMob.Position; Assert.AreEqual(oldPosition.X, newPosition.X); Assert.AreEqual(oldPosition.Y, newPosition.Y); }