예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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);
        }
예제 #6
0
        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);
        }