public void InvalidEventType()
        {
            var testEvent = new LevelEvents.EventTrigger[] {
                new LevelEvents.EventTrigger()
                {
                    Trigger = "Turns", TriggerOn = "1-2", Events = new LevelEvents.Event[] { new LevelEvents.Event()
                                                                                             {
                                                                                                 EventType = "abc", NumberOfPiecesToSelect = 3
                                                                                             } }
                }
            };

            Assert.Throws <ArgumentException>(() => EnemyEventsFactory.GetLevelEvents(testEvent));
        }
        public void Events()
        {
            var testEvent = new LevelEvents.EventTrigger[] {
                new LevelEvents.EventTrigger()
                {
                    Trigger = "Turns", TriggerOn = "1-2", Events = new LevelEvents.Event[] { new LevelEvents.Event()
                                                                                             {
                                                                                                 EventType = "Destroy", NumberOfPiecesToSelect = 2
                                                                                             } }
                }
            };

            var sut = LevelStarFactory.GetLevelStar(2, null, testEvent);

            Assert.IsNotNull(sut.Events);
        }
        public void EmptySelectPieceType()
        {
            var testEvent = new LevelEvents.EventTrigger[] {
                new LevelEvents.EventTrigger()
                {
                    Trigger = "Turns", TriggerOn = "1-2", Events = new LevelEvents.Event[] { new LevelEvents.Event()
                                                                                             {
                                                                                                 EventType = "ChangeS", NumberOfPiecesToSelect = 3, NewPieceType = "x", TypeOfPieceToSelect = ""
                                                                                             } }
                }
            };

            var sut = EnemyEventsFactory.GetLevelEvents(testEvent);

            var rage = sut.RageEvents[0].EnemyRage[0] as ChangeSpecificPiece;

            Assert.AreEqual(PieceTypes.Normal, rage.From);
        }
        private static List <IEnemyRage> GetEnemyRageEvents(LevelEvents.EventTrigger trigger)
        {
            var list = new List <IEnemyRage>();

            if (trigger.Events == null)
            {
                Debug.LogError($"EventTrigger has null events. Trigger {trigger.Trigger} and TriggerOn {trigger.TriggerOn}");
            }
            else
            {
                foreach (var e in trigger.Events)
                {
                    var rageEvent = GetEnemyRageEvent(e);
                    if (rageEvent != null)
                    {
                        list.Add(rageEvent);
                    }
                }
            }
            return(list);
        }
Beispiel #5
0
        public void PercentTrigger_DestroyEvent()
        {
            var testEvent = new LevelEvents.EventTrigger[] {
                new LevelEvents.EventTrigger()
                {
                    Trigger = "Percent", TriggerOn = "r-30", Events = new LevelEvents.Event[] { new LevelEvents.Event()
                                                                                                {
                                                                                                    EventType = "Destroy", NumberOfPiecesToSelect = 2
                                                                                                } }
                }
            };

            var sut = EnemyEventsFactory.GetLevelEvents(testEvent);

            var eventType = sut.RageEvents[0] as PiecePercentEventTrigger;
            var rage      = sut.RageEvents[0].EnemyRage[0] as DestroyRage;

            Assert.NotNull(eventType);
            Assert.NotNull(rage);

            Assert.AreEqual(2, rage.SelectionAmount);
            Assert.AreEqual(30, eventType.Percent);
            Assert.AreEqual(PieceTypes.Rainbow, eventType.PieceType);
        }
Beispiel #6
0
        public void TurnTrigger_DestroyEvent()
        {
            var testEvent = new LevelEvents.EventTrigger[] {
                new LevelEvents.EventTrigger()
                {
                    Trigger = "Turns", TriggerOn = "1-2", Events = new LevelEvents.Event[] { new LevelEvents.Event()
                                                                                             {
                                                                                                 EventType = "Destroy", NumberOfPiecesToSelect = 3
                                                                                             } }
                }
            };

            var sut = EnemyEventsFactory.GetLevelEvents(testEvent);

            var eventType = sut.RageEvents[0] as TurnEventTrigger;
            var rage      = sut.RageEvents[0].EnemyRage[0] as DestroyRage;

            Assert.NotNull(eventType);
            Assert.NotNull(rage);

            Assert.AreEqual(3, rage.SelectionAmount);
            Assert.AreEqual(1, eventType.TurnRange.Min);
            Assert.AreEqual(2, eventType.TurnRange.Max);
        }
Beispiel #7
0
        public void TurnTrigger_RemoveColourEvent()
        {
            var testEvent = new LevelEvents.EventTrigger[] {
                new LevelEvents.EventTrigger()
                {
                    Trigger = "Turns", TriggerOn = "1-2", Events = new LevelEvents.Event[] { new LevelEvents.Event()
                                                                                             {
                                                                                                 EventType = "RemoveC", NewPieceType = "0"
                                                                                             } }
                }
            };

            var sut = EnemyEventsFactory.GetLevelEvents(testEvent);

            var eventType = sut.RageEvents[0] as TurnEventTrigger;
            var rage      = sut.RageEvents[0].EnemyRage[0] as RemoveSpriteEvent;

            Assert.NotNull(eventType);
            Assert.NotNull(rage);

            Assert.AreEqual(Colour.Red, rage.ColourToRemove);
            Assert.AreEqual(1, eventType.TurnRange.Min);
            Assert.AreEqual(2, eventType.TurnRange.Max);
        }