public void Calculate_WithLastReceivedMoveDamageFromSelf_Fails() { // Arrange var user = TestHelpers.CreateBasicCharacter(); var otherCharacters = new[] { TestHelpers.CreateBasicCharacter(), }; var actionHistory = new Mock <IActionHistory>(); actionHistory .Setup(m => m.LastMoveDamageResultAgainst(user)) .Returns(new DamageActionResult <Move> { User = user, }); var calculator = new RetaliationActionTargetCalculator(actionHistory.Object); // Act var(success, targets) = calculator.Calculate(user, otherCharacters); // Assert Assert.Multiple(() => { Assert.That(success, Is.False); Assert.That(targets, Is.Empty); }); }
public void Calculate_WithLastReceivedMoveDamageFromOther_Succeeds() { // Arrange var user = TestHelpers.CreateBasicCharacter(); var otherCharacters = new[] { TestHelpers.CreateBasicCharacter(), }; var actionHistory = new Mock <IActionHistory>(); actionHistory .Setup(m => m.LastMoveDamageResultAgainst(user)) .Returns(new DamageActionResult <Move> { User = otherCharacters[0], StartingHealth = 20, EndingHealth = 10, }); var calculator = new RetaliationActionTargetCalculator(actionHistory.Object); // Act var(success, targets) = calculator.Calculate(user, otherCharacters); // Assert Assert.Multiple(() => { Assert.That(success, Is.True); Assert.That(targets.Single(), Is.EqualTo(otherCharacters[0])); }); }
public void Calculate_NoLastReceivedMoveDamage_Fails() { // Arrange var user = TestHelpers.CreateBasicCharacter(); var otherCharacters = new[] { TestHelpers.CreateBasicCharacter(), }; var calculator = new RetaliationActionTargetCalculator(new Mock <IActionHistory>().Object); // Act var(success, targets) = calculator.Calculate(user, otherCharacters); // Assert Assert.Multiple(() => { Assert.That(success, Is.False); Assert.That(targets, Is.Empty); }); }