Beispiel #1
0
        private (string Name, string Author, List <EngineOption> Options) ParseUciHeader(string uciHeader)
        {
            string idName   = null;
            string idAuthor = null;
            var    options  = new List <EngineOption>();
            var    lines    = uciHeader.Split('\n');

            foreach (var l in lines)
            {
                if (l.StartsWith("id name"))
                {
                    idName = string.Join(' ', l.Split(' ').Skip(2));
                }
                else if (l.StartsWith("id author"))
                {
                    idAuthor = string.Join(' ', l.Split(' ').Skip(2));
                }
                else if (l.StartsWith("option"))
                {
                    options.Add(OptionParser.ParseOptionLine(l));
                }
            }

            return(idName, idAuthor, options);
        }
Beispiel #2
0
        public void ParsesStringOption()
        {
            var option = OptionParser.ParseOptionLine(StringOption);

            Assert.Equal("SyzygyPath", option.Name);
            Assert.Equal(string.Empty, option.DefaultValue.TextValue !);
            Assert.Equal(OptionType.Text, option.Type);
        }
Beispiel #3
0
        public void ParsesCheckBoxOption()
        {
            var option = OptionParser.ParseOptionLine(CheckBoxOption);

            Assert.Equal("Syzygy50MoveRule", option.Name);
            Assert.Equal(true, option.DefaultValue.BooleanValue !);
            Assert.Equal(OptionType.Boolean, option.Type);
        }
Beispiel #4
0
        public void ParsesSpinnerOption()
        {
            var option = OptionParser.ParseOptionLine(SpinnerOption);

            Assert.Equal("UCI_Elo", option.Name);
            Assert.Equal(1350, option.Minimum !);
            Assert.Equal(2850, option.Maximum !);
            Assert.Equal(1350, option.DefaultValue.IntegerValue !);
            Assert.Equal(OptionType.NumberRange, option.Type);
        }
Beispiel #5
0
        public void ParsesComboOptionWithDefault()
        {
            var option = OptionParser.ParseOptionLine(ComboOption);

            Assert.Equal(OptionType.MultipleChoice, option.Type);
            Assert.Equal("Analysis Contempt", option.Name);
            Assert.Equal("Both", option.DefaultValue.TextValue);
            Assert.Equal(4, option.ValidValues.Count);
            Assert.Equal("Off", option.ValidValues[0]);
            Assert.Equal("White", option.ValidValues[1]);
            Assert.Equal("Black", option.ValidValues[2]);
            Assert.Equal("Both", option.ValidValues[3]);
        }