Example #1
0
        public void FindActivePresetFilesIncludesUnknownCategories()
        {
            using var dirOpts = new TestFolder(_gof.FullName);
            dirOpts.WriteText(@"Bindings\StartPreset.start", "Custom\nCustom2\nKeyboard\nCustom\nCustom2");

            var gof = new GameOptionsFolder(dirOpts.Name);

            Assert.True(gof.IsValid);

            var files = BindingPreset.FindActivePresetFiles(_gif, gof);

            Assert.Equal(_bindingCategories + 1, files.Count);

            var expected = new Dictionary <BindingCategory, string>
            {
                [BindingCategory.GeneralControls] = dirOpts.Resolve(@"Bindings\Custom.3.0.binds"),
                [BindingCategory.ShipControls]    = dirOpts.Resolve(@"Bindings\Custom2.3.0.binds"),
                [BindingCategory.SrvControls]     = Path.Combine(_gif.FullName, @"ControlSchemes\Keyboard.binds"),
                [BindingCategory.OnFootControls]  = dirOpts.Resolve(@"Bindings\Custom.3.0.binds"),
                [(BindingCategory)4] = dirOpts.Resolve(@"Bindings\Custom2.3.0.binds"),
            };

            foreach (var category in expected.Keys)
            {
                Assert.Equal(expected[category], files[category]);
            }
        }
Example #2
0
        public void FindActivePresetFilesReturnsNullWhenNeither1Or4PresetFilesAreDefined()
        {
            using var dirOpts = new TestFolder(_gof.FullName);
            dirOpts.WriteText(@"Bindings\StartPreset.start", "Custom\nCustom2");

            var gof = new GameOptionsFolder(dirOpts.Name);

            Assert.True(gof.IsValid);

            var files = BindingPreset.FindActivePresetFiles(_gif, gof);

            Assert.Null(files);
        }
Example #3
0
        public void FindActivePresetFilesReturnsNullWhenAPresetFileIsMissing()
        {
            using var dirOpts = new TestFolder(_gof.FullName);
            dirOpts.WriteText(@"Bindings\StartPreset.start", "Custom\nCustom2\nMISSING_PRESET\nKeyboard");

            var gof = new GameOptionsFolder(dirOpts.Name);

            Assert.True(gof.IsValid);

            var files = BindingPreset.FindActivePresetFiles(_gif, gof);

            Assert.Null(files);
        }
Example #4
0
        public void SupportsSingleLineStartPresets()
        {
            using var dirOpts = new TestFolder(_gof.FullName);
            dirOpts.WriteText(@"Bindings\StartPreset.start", "Custom");

            var gof = new GameOptionsFolder(dirOpts.Name);

            Assert.True(gof.IsValid);

            var files = BindingPreset.FindActivePresetFiles(_gif, gof);

            Assert.Equal(_bindingCategories, files.Count);

            var expectedFile = dirOpts.Resolve(@"Bindings\Custom.3.0.binds");

            Assert.All(files.Values, x => Assert.Equal(expectedFile, x));
        }