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))
     });
Esempio n. 3
0
        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));
        }