public void SetValue_SetStringValue_ValueAddedToConfig()
        {
            SkulltagConfig config = new SkulltagConfig();

            string key = "hello pickles";
            string value = "why hello there";

            config.SetValue(key, value);

            string somevalue = config.StringValues[key];

            Assert.AreEqual(somevalue, value);
        }
        public void SetValue_SetDMFlag_ValueAddedToConfig()
        {
            SkulltagConfig config = new SkulltagConfig();

            DMFlags key = DMFlags.AllowCrouching;
            bool value = true;

            config.SetValue(key, value);

            bool somevalue = config.DMFlags[key];

            Assert.IsTrue(somevalue);
        }
        public void SetValue_SetCompatFlags_ValueAddedToConfig()
        {
            SkulltagConfig config = new SkulltagConfig();

            CompatFlags key = CompatFlags.DisableBoomDoorLightEffect;
            bool value = true;

            config.SetValue(key, value);

            bool somevalue = config.CompatFlags[key];

            Assert.IsTrue(somevalue);
        }
        public void Parse_ValidSpecialInputSingleLine_PropertyInConfigSet()
        {
            string validInput = "dmflags 1024";

            StringReader reader = new StringReader(validInput);

            SkulltagConfig conf = new SkulltagConfig();

            IParserMetaData fakeParser = MockParserMetaData.DMFlagsMetaData;

            IParser<SkulltagConfig, TextReader> parser = new SkulltagConfigParser(fakeParser);

            SkulltagConfig config = parser.Parse(reader);

            Assert.IsTrue(config.DMFlags[DMFlags.KillOnExit]);
        }
        public void Parse_ValidStringInputMultipleLines_PropertiesInConfigSet()
        {
            string validInput = "sv_hostname \"test server\"\nsv_maxplayers 24\nsv_maxclients 32";

            StringReader reader = new StringReader(validInput);

            SkulltagConfig conf = new SkulltagConfig();

            IParserMetaData fakeParser = MockParserMetaData.StringMetaData;

            IParser<SkulltagConfig, TextReader> parser = new SkulltagConfigParser(fakeParser);

            SkulltagConfig config = parser.Parse(reader);

            Assert.AreEqual(config.StringValues["sv_hostname"], "test server");
            Assert.AreEqual(config.StringValues["sv_maxplayers"], "24");
            Assert.AreEqual(config.StringValues["sv_maxclients"], "32");
        }
        public void Parse_ValidSpecialInputMultipleLines_PropertiesInConfigSet()
        {
            string validInput = "dmflags 516\ndmflags2 = 8704";

            StringReader reader = new StringReader(validInput);

            SkulltagConfig conf = new SkulltagConfig();

            IParserMetaData fakeParser = MockParserMetaData.FlagsMetaData;

            IParser<SkulltagConfig, TextReader> parser = new SkulltagConfigParser(fakeParser);

            SkulltagConfig config = parser.Parse(reader);

            Assert.IsTrue(config.DMFlags[DMFlags.WeaponsRemainAfterPickup]);
            Assert.IsTrue(config.DMFlags[DMFlags.DoNotSpawnArmor]);

            Assert.IsTrue(config.DMFlags2[DMFlags2.BarrelsRespawn]);
            Assert.IsTrue(config.DMFlags2[DMFlags2.KeepTeamAfterMapChange]);
        }
        public void Parse_ValidStringInputSingleLine_PropertyInConfigSet()
        {
            string validInput = "sv_hostname \"test server\"";

            StringReader reader = new StringReader(validInput);

            SkulltagConfig conf = new SkulltagConfig();

            IParserMetaData fakeParser = MockParserMetaData.StringMetaData;

            IParser<SkulltagConfig, TextReader> parser = new SkulltagConfigParser(fakeParser);

            SkulltagConfig config = parser.Parse(reader);

            Assert.AreEqual(config.StringValues["sv_hostname"], "test server");
        }