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); }
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); }
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); }
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); }