예제 #1
0
        public void TestUCI()
        {
            UCIResponse obj = null;
            var         str = "id name Stockfish 10 64\r\n" + "\r\n" +
                              "id author T.Romstad, M.Costalba, J.Kiiski, G.Linscott\r\n" +
                              "option name Debug Log File type string default\r\n" +
                              "uciok";

            foreach (var command in str.Split("\r\n"))
            {
                var resp = _factory.MakeResponseArgs(BoardConstants.FenStartingPosition, command);
                if (command == "uciok")
                {
                    Assert.IsTrue(resp.ResponseObject is UCIResponse);
                    obj = resp.ResponseObject as UCIResponse;
                }
                else
                {
                    Assert.IsNull(resp);
                }
            }
            Assert.IsNotNull(obj);
            Assert.AreEqual(1, obj.Options.Count());
            Assert.IsTrue(obj.Options[0] is UCIStringOption);
            Assert.IsTrue(obj.Name == "Stockfish 10 64");
            Assert.IsTrue(obj.Author == "T.Romstad, M.Costalba, J.Kiiski, G.Linscott");
            Assert.IsTrue(obj.UCIOk);
        }
예제 #2
0
        public void TestOptionsClass()
        {
            var id         = Guid.NewGuid();
            var engineInfo = new UCIResponse(id, uciResponse);

            Assert.AreEqual(id, engineInfo.Id);
            Assert.AreEqual("Stockfish 10 64", engineInfo.Name);
            Assert.AreEqual("T. Romstad, M. Costalba, J. Kiiski, G. Linscott", engineInfo.Author);
            Assert.AreEqual(19, engineInfo.Options.Count());
            Assert.AreEqual(true, engineInfo.UCIOk);
        }
예제 #3
0
        public void TestSupportsOption(string optionName, bool expected)
        {
            var engineInfo = new UCIResponse(Guid.Empty, uciResponse);

            Assert.AreEqual(expected, engineInfo.SupportsOption(optionName));
        }
예제 #4
0
        public void TestSpinOptionIsValid(string option, double value, bool expected)
        {
            var engInfo = new UCIResponse(Guid.Empty, option);

            Assert.AreEqual(expected, engInfo.IsOptionValid("MultiPV", value.ToString(), out _));
        }