public void Disabled_AccessibilityTests(SequenceBreakType sequenceBreak, RequirementType type) { SequenceBreakDictionary.Instance.Reset(); SequenceBreakDictionary.Instance[sequenceBreak].Enabled = false; Assert.Equal( AccessibilityLevel.None, RequirementDictionary.Instance[type].Accessibility); }
/// <summary> /// Returns a string representing the name of the specified sequence break. /// </summary> /// <param name="type"> /// The sequence break type. /// </param> /// <returns> /// A string representing the name. /// </returns> private static string GetSequenceBreakName(SequenceBreakType type) { return(type switch { SequenceBreakType.BlindPedestal => "Blind Pedestal (No Book)", SequenceBreakType.BonkOverLedge => "Bonk over Ledge", SequenceBreakType.BumperCaveHookshot => "Bumper Cape without Hookshot", SequenceBreakType.SpikeCave => "Spike Cave", SequenceBreakType.TRLaserSkip => "TR Laser Bridge without safety", SequenceBreakType.LanmolasBombs => "Lanmolas - Bombs only", SequenceBreakType.ArrghusBasic => "Arrghus", SequenceBreakType.MothulaBasic => "Mothula", SequenceBreakType.BlindBasic => "Blind", SequenceBreakType.KholdstareBasic => "Kholdstare", SequenceBreakType.VitreousBasic => "Vitreous", SequenceBreakType.TrinexxBasic => "Trinexx", SequenceBreakType.BombDuplicationAncillaOverload => "Ancilla Overload", SequenceBreakType.BombDuplicationMirror => "Mirror", SequenceBreakType.BombJumpPoDHammerJump => "Palace of Darkness - Hammer Jump", SequenceBreakType.BombJumpSWBigChest => "Skull Woods - Big Chest", SequenceBreakType.BombJumpIPBJ => "Ice Palace - IPBJ", SequenceBreakType.BombJumpIPHookshotGap => "Ice Palace - Hookshot Gap", SequenceBreakType.BombJumpIPFreezorRoomGap => "Ice Palace - Freezor Room Gap", SequenceBreakType.DarkRoomDeathMountainEntry => "Death Mountain Entry", SequenceBreakType.DarkRoomDeathMountainExit => "Death Mountain Exit", SequenceBreakType.DarkRoomHC => "Hyrule Castle", SequenceBreakType.DarkRoomAT => "Agahnim's Tower", SequenceBreakType.DarkRoomEPRight => "Eastern Palace - Right", SequenceBreakType.DarkRoomEPBack => "Eastern Palace - Back", SequenceBreakType.DarkRoomPoDDarkBasement => "Palace of Darkness - Dark Basement", SequenceBreakType.DarkRoomPoDDarkMaze => "Palace of Darkness - Dark Maze", SequenceBreakType.DarkRoomPoDBossArea => "Palace of Darkness - Boss Area", SequenceBreakType.DarkRoomMM => "Misery Mire", SequenceBreakType.DarkRoomTR => "Turtle Rock", SequenceBreakType.FakeFlippersFairyRevival => "Fairy Revival", SequenceBreakType.FakeFlippersQirnJump => "Qirn Jump", SequenceBreakType.FakeFlippersScreenTransition => "Screen Transition", SequenceBreakType.FakeFlippersSplashDeletion => "Splash Deletion", SequenceBreakType.WaterWalk => "Water Walk", SequenceBreakType.WaterWalkFromWaterfallCave => "Water Walk from Waterfall Cave", SequenceBreakType.SuperBunnyMirror => "Mirror", SequenceBreakType.SuperBunnyFallInHole => "Fall in Hole", SequenceBreakType.CameraUnlock => "Camera Unlock", SequenceBreakType.DungeonRevive => "Dungeon Revive", SequenceBreakType.FakePowder => "Fake Powder", SequenceBreakType.Hover => "Hover", SequenceBreakType.MimicClip => "Mimic Clip", SequenceBreakType.ToHHerapot => "Tower of Hera - Herapot", SequenceBreakType.IPIceBreaker => "Ice Palace - Icebreaker", _ => throw new ArgumentOutOfRangeException(nameof(type)) });
public void Disabled_AccessibilityTests(SequenceBreakType sequenceBreak, RequirementType type) { var container = ContainerConfig.Configure(); using var scope = container.BeginLifetimeScope(); var requirements = scope.Resolve <IRequirementDictionary>(); var sequenceBreaks = scope.Resolve <ISequenceBreakDictionary>(); sequenceBreaks[sequenceBreak].Enabled = false; Assert.Equal( AccessibilityLevel.None, requirements[type].Accessibility); }
public SequenceBreak this[SequenceBreakType key] { get { if (!ContainsKey(key)) { Create(key); } return(((IDictionary <SequenceBreakType, SequenceBreak>)_dictionary)[key]); } set => ((IDictionary <SequenceBreakType, SequenceBreak>)_dictionary)[key] = value;
/// <summary> /// Returns a new sequence break control ViewModel instance of the specified sequence break /// type. /// </summary> /// <param name="type"> /// The sequence break type. /// </param> /// <returns> /// A new sequence break control ViewModel instance. /// </returns> public static SequenceBreakControlVM GetSequenceBreakControlVM(SequenceBreakType type) { return(new SequenceBreakControlVM( SequenceBreakDictionary.Instance[type], GetSequenceBreakName(type), GetSequenceBreakToolTip(type))); }
/// <summary> /// Returns a string representing the tooltip text of the specified sequence break. /// </summary> /// <param name="type"> /// The sequence break type. /// </param> /// <returns> /// A string representing the tooltip text. /// </returns> private static string GetSequenceBreakToolTip(SequenceBreakType type) { switch (type) { case SequenceBreakType.BlindPedestal: { return("Blind Pedestal (No Book)"); } case SequenceBreakType.BonkOverLedge: { return("Bonk over Ledge"); } case SequenceBreakType.BumperCaveHookshot: { return("Bumper Cape without Hookshot"); } case SequenceBreakType.SpikeCave: { return("Spike Cave"); } case SequenceBreakType.TRLaserSkip: { return("TR Laser Bridge without safety"); } case SequenceBreakType.LanmolasBombs: { return("Lanmolas - Bombs only"); } case SequenceBreakType.ArrghusBasic: { return("Arrghus"); } case SequenceBreakType.MothulaBasic: { return("Mothula"); } case SequenceBreakType.BlindBasic: { return("Blind"); } case SequenceBreakType.KholdstareBasic: { return("Kholdstare"); } case SequenceBreakType.VitreousBasic: { return("Vitreous"); } case SequenceBreakType.TrinexxBasic: { return("Trinexx"); } case SequenceBreakType.BombDuplicationAncillaOverload: { return("Ancilla Overload"); } case SequenceBreakType.BombDuplicationMirror: { return("Mirror"); } case SequenceBreakType.BombJumpPoDHammerJump: { return("Palace of Darkness - Hammer Jump"); } case SequenceBreakType.BombJumpSWBigChest: { return("Skull Woods - Big Chest"); } case SequenceBreakType.BombJumpIPBJ: { return("Ice Palace - IPBJ"); } case SequenceBreakType.BombJumpIPHookshotGap: { return("Ice Palace - Hookshot Gap"); } case SequenceBreakType.BombJumpIPFreezorRoomGap: { return("Ice Palace - Freezor Room Gap"); } case SequenceBreakType.DarkRoomDeathMountainEntry: { return("Death Mountain Entry"); } case SequenceBreakType.DarkRoomDeathMountainExit: { return("Death Mountain Exit"); } case SequenceBreakType.DarkRoomHC: { return("Hyrule Castle"); } case SequenceBreakType.DarkRoomAT: { return("Agahnim's Tower"); } case SequenceBreakType.DarkRoomEPRight: { return("Eastern Palace - Right"); } case SequenceBreakType.DarkRoomEPBack: { return("Eastern Palace - Back"); } case SequenceBreakType.DarkRoomPoDDarkBasement: { return("Palace of Darkness - Dark Basement"); } case SequenceBreakType.DarkRoomPoDDarkMaze: { return("Palace of Darkness - Dark Maze"); } case SequenceBreakType.DarkRoomPoDBossArea: { return("Palace of Darkness - Boss Area"); } case SequenceBreakType.DarkRoomMM: { return("Misery Mire"); } case SequenceBreakType.DarkRoomTR: { return("Turtle Rock"); } case SequenceBreakType.FakeFlippersFairyRevival: { return("Fairy Revival"); } case SequenceBreakType.FakeFlippersQirnJump: { return("Qirn Jump"); } case SequenceBreakType.FakeFlippersScreenTransition: { return("Screen Transition"); } case SequenceBreakType.FakeFlippersSplashDeletion: { return("Splash Deletion"); } case SequenceBreakType.WaterWalk: { return("Water Walk"); } case SequenceBreakType.WaterWalkFromWaterfallCave: { return("Water Walk from Waterfall Cave"); } case SequenceBreakType.SuperBunnyMirror: { return("Mirror"); } case SequenceBreakType.SuperBunnyFallInHole: { return("Fall in Hole"); } case SequenceBreakType.CameraUnlock: { return("Camera Unlock"); } case SequenceBreakType.DungeonRevive: { return("Dungeon Revive"); } case SequenceBreakType.FakePowder: { return("Fake Powder"); } case SequenceBreakType.Hover: { return("Hover"); } case SequenceBreakType.MimicClip: { return("Mimic Clip"); } case SequenceBreakType.ToHHerapot: { return("Tower of Hera - Herapot"); } case SequenceBreakType.IPIceBreaker: { return("Ice Palace - Icebreaker"); } } throw new ArgumentOutOfRangeException(nameof(type)); }