public void ApplyNext_QueueNotEmptyAndUserAlive_ReturnsAppliedMoveUse() { // Arrange var moveUse = new MoveUse { Move = TestHelpers.CreateMove(), User = TestHelpers.CreateBasicCharacter(), OtherCharacters = Enumerable.Empty <Character>(), }; var moveProcessor = new MoveProcessor(); _ = moveProcessor.Push(moveUse); // Act var appliedMoveUse = moveProcessor.ApplyNext(); // Assert Assert.That(appliedMoveUse.HasResult, Is.True); }
public void ApplyNext_QueueNotEmptyAndUserDead_ReturnsUnappliedMoveUse() { // Arrange var moveUse = new MoveUse { Move = TestHelpers.CreateMove(), User = TestHelpers.CreateBasicCharacter(), }; _ = moveUse.User.ReceiveDamage <Move>(6, TestHelpers.CreateBasicCharacter()); var moveProcessor = new MoveProcessor(); _ = moveProcessor.Push(moveUse); // Act var appliedMoveUse = moveProcessor.ApplyNext(); // Assert Assert.That(appliedMoveUse.HasResult, Is.False); }
public void Push_CanUseMove_Succeeds( int remainingUses, bool expectedResult, bool expectedQueueIsEmpty) { // Arrange var moveUse = new MoveUse { Move = TestHelpers.CreateMove(maxUses: remainingUses), }; var moveProcessor = new MoveProcessor(); // Act var result = moveProcessor.Push(moveUse); // Assert Assert.Multiple(() => { Assert.That(result, Is.EqualTo(expectedResult)); Assert.That(moveProcessor.MoveUseQueueIsEmpty, Is.EqualTo(expectedQueueIsEmpty)); }); }