public void AttackHealTest() { var res = new BsActionResult(); _stats.Setup(x => x.ResolveAttack(It.IsAny <IBsActor>(), It.IsAny <IBsActor>())).Returns(100); _stats.Setup(x => x.ResolveHeal(It.IsAny <IBsActor>(), It.IsAny <IBsActor>())).Returns(200); var health = new BsHealthModel(_actors.Object, _stats.Object); health.Attack(_actor1.Object, _actor2.Object, res); Assert.AreEqual(900, health.Health(_actor2.Object)); Assert.IsTrue(res.Ok); Assert.AreEqual(-100, res.Value); health.Attack(_actor1.Object, _actor2.Object, res); Assert.AreEqual(800, health.Health(_actor2.Object)); Assert.IsTrue(res.Ok); Assert.AreEqual(-100, res.Value); health.Attack(_actor1.Object, _actor2.Object, res); Assert.AreEqual(700, health.Health(_actor2.Object)); Assert.IsTrue(res.Ok); Assert.AreEqual(-100, res.Value); health.Heal(_actor1.Object, _actor2.Object, res); Assert.AreEqual(900, health.Health(_actor2.Object)); Assert.IsTrue(res.Ok); Assert.AreEqual(200, res.Value); }
public override void DidEnter(IState state) { // Setup the board var board = new BsBoard2D(10, 10); // Create actors and add them to the board var actors = new BsActorCollection(); var red1 = actors.Add(_config.Fighter); var red2 = actors.Add(_config.Fighter); var red3 = actors.Add(_config.Fighter); var blue1 = actors.Add(_config.Archer); var blue2 = actors.Add(_config.Fighter); var blue3 = actors.Add(_config.Archer); board.Add(red1, 0); board.Add(red2, 5); board.Add(red3, 9); board.Add(blue1, 90); board.Add(blue2, 95); board.Add(blue3, 99); // Setup models var levels = new BsLevels(actors); var stats = new BsStatsModel(levels); var health = new BsHealthModel(actors, stats); var range = new BsRange(board, _config.DstConfig); var factions = new BsFactions(actors); // Add actors to factions factions.Add(red1, BsFaction.Red); factions.Add(red2, BsFaction.Red); factions.Add(red3, BsFaction.Red); factions.Add(blue1, BsFaction.Blue); factions.Add(blue2, BsFaction.Blue); factions.Add(blue3, BsFaction.Blue); // Setup levels levels.AddLevel(actors.Actor(1), 5); levels.AddLevel(actors.Actor(2), 10); levels.AddLevel(actors.Actor(3), 15); levels.AddLevel(actors.Actor(4), 20); // Facade model var model = new BsModel(actors); model.AddSubmodel(health); model.AddSubmodel(board); model.AddSubmodel(levels); model.AddSubmodel(range); model.AddSubmodel(factions); _model = model; // Presenter _presenter = new BsPresenter(_view, _hudView, _model, _input, _logger); _presenter.Init(); _logger.Log("Battle Simulation Ready"); }
public void InitTest() { var health = new BsHealthModel(_actors.Object, _stats.Object); Assert.AreEqual(2, health.Data.Count); Assert.AreEqual(1000, health.Health(_actor1.Object)); Assert.AreEqual(1000, health.Health(_actor2.Object)); }
public void IsDeadTest() { var res = new BsActionResult(); _stats.Setup(x => x.ResolveAttack(It.IsAny <IBsActor>(), It.IsAny <IBsActor>())).Returns(9999); _stats.Setup(x => x.ResolveHeal(It.IsAny <IBsActor>(), It.IsAny <IBsActor>())).Returns(9999); var health = new BsHealthModel(_actors.Object, _stats.Object); Assert.IsFalse(health.IsDead(_actor2.Object)); health.Attack(_actor1.Object, _actor2.Object, res); Assert.IsTrue(health.IsDead(_actor2.Object)); }
public void AddHealtTest() { var res = new BsActionResult(); var health = new BsHealthModel(_actors.Object, _stats.Object); health.Attack(_actor1.Object, _actor2.Object, res); Assert.AreEqual(1000, health.Health(_actor1.Object)); Assert.AreEqual(999, health.Health(_actor2.Object)); Assert.IsTrue(res.Ok); Assert.AreEqual(-1, res.Value); res = new BsActionResult(); health.Heal(_actor1.Object, _actor2.Object, res); Assert.AreEqual(1000, health.Health(_actor1.Object)); Assert.AreEqual(1000, health.Health(_actor2.Object)); Assert.IsTrue(res.Ok); Assert.AreEqual(1, res.Value); }