public void TenPieces_FiveMatching_30Percent_Triggers() { var trigger = new PiecePercentEventTrigger(PieceBuilderDirector.PieceTypes.Rainbow, 30); var enemyEvent = new ChangeBoolEvent(); trigger.EnemyRage.Add(enemyEvent); PieceManager.Instance.Setup(new List <ISquarePiece>() { TestHelpers.CreatePiece(PieceBuilderDirector.PieceTypes.Rainbow), TestHelpers.CreatePiece(PieceBuilderDirector.PieceTypes.Rainbow), TestHelpers.CreatePiece(PieceBuilderDirector.PieceTypes.Rainbow), TestHelpers.CreatePiece(PieceBuilderDirector.PieceTypes.Rainbow), TestHelpers.CreatePiece(PieceBuilderDirector.PieceTypes.Rainbow), TestHelpers.CreatePiece(PieceBuilderDirector.PieceTypes.Normal), TestHelpers.CreatePiece(PieceBuilderDirector.PieceTypes.Normal), TestHelpers.CreatePiece(PieceBuilderDirector.PieceTypes.Normal), TestHelpers.CreatePiece(PieceBuilderDirector.PieceTypes.Normal), TestHelpers.CreatePiece(PieceBuilderDirector.PieceTypes.Normal) }, new float[1], new float[1]); trigger.CheckForEvent(); Assert.IsTrue(enemyEvent.Activated); }
public void TriggersAfterFirstTurn_1TurnPasses_Triggers() { var sut = new TurnEventTrigger(0, 0); var enemyEvent = new ChangeBoolEvent(); sut.EnemyRage.Add(enemyEvent); sut.CheckForEvent(); Assert.IsTrue(enemyEvent.Activated); }
public void TriggersAfterThirdtTurn_2TurnPasses_NotTriggered() { var sut = new TurnEventTrigger(3, 3); var enemyEvent = new ChangeBoolEvent(); sut.EnemyRage.Add(enemyEvent); sut.CheckForEvent(); sut.CheckForEvent(); Assert.IsFalse(enemyEvent.Activated); }
public void TriggersBetweenThirdAndFifthTurnTurn_5TurnPasses_Triggers() { var sut = new TurnEventTrigger(3, 5); var enemyEvent = new ChangeBoolEvent(); sut.EnemyRage.Add(enemyEvent); sut.CheckForEvent(); sut.CheckForEvent(); sut.CheckForEvent(); sut.CheckForEvent(); sut.CheckForEvent(); Assert.IsTrue(enemyEvent.Activated); }
public void OnePiece_NoneMatching_100Percent_Colour_DoesNotTrigger() { var trigger = new PiecePercentEventTrigger(PieceBuilderDirector.PieceTypes.Empty, 100, Colour.Red); var enemyEvent = new ChangeBoolEvent(); trigger.EnemyRage.Add(enemyEvent); PieceManager.Instance.Setup(new List <ISquarePiece>() { TestHelpers.CreatePiece(0, 0, Colour.Green) }, new float[1], new float[1]); trigger.CheckForEvent(); Assert.IsFalse(enemyEvent.Activated); }
public void TwoPieces_OneMatching_50Percent_Colour_Triggers() { var trigger = new PiecePercentEventTrigger(PieceBuilderDirector.PieceTypes.Empty, 50, Colour.Red); var enemyEvent = new ChangeBoolEvent(); trigger.EnemyRage.Add(enemyEvent); PieceManager.Instance.Setup(new List <ISquarePiece>() { TestHelpers.CreatePiece(0, 0, Colour.Red), TestHelpers.CreatePiece(0, 1, Colour.DarkBlue), }, new float[1], new float[2]); trigger.CheckForEvent(); Assert.IsTrue(enemyEvent.Activated); }