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); }
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); }
public void TestSupportsOption(string optionName, bool expected) { var engineInfo = new UCIResponse(Guid.Empty, uciResponse); Assert.AreEqual(expected, engineInfo.SupportsOption(optionName)); }
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 _)); }