コード例 #1
0
ファイル: test_aei.py プロジェクト: bzabinski/AEI
 def test_controller_protocol1(self):
     eng = MockEngine(protocol1)
     ctl = EngineController(eng)
     self.assertEqual(ctl.ident["name"], "Mock")
     self.assertEqual(ctl.ident["author"], "Janzert")
     self.assertEqual(ctl.protocol_version, 1)
     self.assertEqual(ctl.is_running(), True)
     resp = ctl.get_response()
     self.assertIsInstance(resp, EngineResponse)
     self.assertEqual(resp.type, "log")
     self.assertEqual(resp.message,
                      eng.expected[eng.event - 1][1].lstrip("log "))
     ctl.setoption("depth", 4)
     ctl.newgame()
     pos = board.Position(board.Color.GOLD, 4, board.BASIC_SETUP)
     ctl.setposition(pos)
     ctl.go()
     ctl.stop()
     resp = ctl.get_response()
     self.assertEqual(resp.type, "info")
     self.assertEqual(resp.message,
                      eng.expected[eng.event - 1][1].lstrip("info "))
     resp = ctl.get_response()
     self.assertEqual(resp.type, "bestmove")
     self.assertEqual(resp.move,
                      eng.expected[eng.event - 1][1].lstrip("bestmove "))
     ctl.makemove("Hb2n Ed2n")
     ctl.go("ponder")
     ctl.quit()
     ctl.cleanup()
コード例 #2
0
ファイル: test_aei.py プロジェクト: w-hat/AEI
 def test_controller_protocol1(self):
     eng = MockEngine(protocol1)
     ctl = EngineController(eng)
     self.assertEqual(ctl.ident["name"], "Mock")
     self.assertEqual(ctl.ident["author"], "Janzert")
     self.assertEqual(ctl.protocol_version, 1)
     self.assertEqual(ctl.is_running(), True)
     resp = ctl.get_response()
     self.assertIsInstance(resp, EngineResponse)
     self.assertEqual(resp.type, "log")
     self.assertEqual(resp.message,
                      eng.expected[eng.event - 1][1].lstrip("log "))
     ctl.setoption("depth", 4)
     ctl.newgame()
     pos = board.Position(board.Color.GOLD, 4, board.BASIC_SETUP)
     ctl.setposition(pos)
     ctl.go()
     ctl.stop()
     resp = ctl.get_response()
     self.assertEqual(resp.type, "info")
     self.assertEqual(resp.message,
                      eng.expected[eng.event - 1][1].lstrip("info "))
     resp = ctl.get_response()
     self.assertEqual(resp.type, "bestmove")
     self.assertEqual(resp.move,
                      eng.expected[eng.event - 1][1].lstrip("bestmove "))
     ctl.makemove("Hb2n Ed2n")
     ctl.go("ponder")
     ctl.quit()
     ctl.cleanup()
コード例 #3
0
ファイル: test_aei.py プロジェクト: TFiFiE/AEI
 def test_controller(self):
     eng = MockEngine(protocol1)
     ctl = EngineController(eng)
     self.assertEqual(ctl.ident["name"], "Mock")
     self.assertEqual(ctl.ident["author"], "Janzert")
     self.assertEqual(ctl.protocol_version, 1)
     self.assertEqual(ctl.is_running(), True)
     self.assertRaises(socket.timeout, ctl.get_response)
     resp = ctl.get_response()
     self.assertIsInstance(resp, EngineResponse)
     self.assertEqual(resp.type, "log")
     self.assertEqual(resp.message,
                      eng.expected[eng.event - 1][1].lstrip("log "))
     ctl.setoption("depth", 4)
     ctl.newgame()
     pos = board.Position(board.Color.GOLD, 4, board.BASIC_SETUP)
     ctl.setposition(pos)
     ctl.go()
     ctl.stop()
     resp = ctl.get_response()
     self.assertEqual(resp.type, "info")
     self.assertEqual(resp.message,
                      eng.expected[eng.event - 1][1].lstrip("info "))
     resp = ctl.get_response()
     self.assertEqual(resp.type, "bestmove")
     self.assertEqual(resp.move,
                      eng.expected[eng.event - 1][1].lstrip("bestmove "))
     ctl.makemove("Hb2n Ed2n")
     ctl.go("ponder")
     ctl.quit()
     ctl.cleanup()
     # bad response to isready
     eng = MockEngine(bad_isready_response)
     ctl = EngineController(eng)
     ctl.newgame()
     self.assertRaises(EngineException, ctl.isready)
     # timeout waiting for aeiok
     eng = MockEngine(aeiok_timeout)
     self.assertRaises(EngineException, EngineController, eng)
     # IOError sending aei
     eng = MockEngine(aei_send_error)
     self.assertRaises(EngineException, EngineController, eng)
コード例 #4
0
ファイル: test_aei.py プロジェクト: Janzert/AEI
 def test_controller(self):
     eng = MockEngine(protocol1)
     ctl = EngineController(eng)
     self.assertEqual(ctl.ident["name"], "Mock")
     self.assertEqual(ctl.ident["author"], "Janzert")
     self.assertEqual(ctl.protocol_version, 1)
     self.assertEqual(ctl.is_running(), True)
     self.assertRaises(socket.timeout, ctl.get_response)
     resp = ctl.get_response()
     self.assertIsInstance(resp, EngineResponse)
     self.assertEqual(resp.type, "log")
     self.assertEqual(resp.message,
                      eng.expected[eng.event - 1][1].lstrip("log "))
     ctl.setoption("depth", 4)
     ctl.newgame()
     pos = board.Position(board.Color.GOLD, 4, board.BASIC_SETUP)
     ctl.setposition(pos)
     ctl.go()
     ctl.stop()
     resp = ctl.get_response()
     self.assertEqual(resp.type, "info")
     self.assertEqual(resp.message,
                      eng.expected[eng.event - 1][1].lstrip("info "))
     resp = ctl.get_response()
     self.assertEqual(resp.type, "bestmove")
     self.assertEqual(resp.move,
                      eng.expected[eng.event - 1][1].lstrip("bestmove "))
     ctl.makemove("Hb2n Ed2n")
     ctl.go("ponder")
     ctl.quit()
     ctl.cleanup()
     # bad response to isready
     eng = MockEngine(bad_isready_response)
     ctl = EngineController(eng)
     ctl.newgame()
     self.assertRaises(EngineException, ctl.isready)
     # timeout waiting for aeiok
     eng = MockEngine(aeiok_timeout)
     self.assertRaises(EngineException, EngineController, eng)
     # IOError sending aei
     eng = MockEngine(aei_send_error)
     self.assertRaises(EngineException, EngineController, eng)
コード例 #5
0
ファイル: test_aei.py プロジェクト: TFiFiE/AEI
 def test_protocol_versions(self):
     eng = MockEngine(protocol0)
     ctl = EngineController(eng)
     self.assertEqual(ctl.ident["name"], "Mock0")
     self.assertEqual(ctl.ident["author"], "Janzert")
     self.assertEqual(ctl.protocol_version, 0)
     ctl.newgame()
     pos = board.Position(board.Color.GOLD, 4, board.BASIC_SETUP)
     ctl.setposition(pos)
     ctl.cleanup()
     # bad protocol version
     eng = MockEngine(bad_protocol)
     eng.log = MockLog()
     ctl = EngineController(eng)
     self.assertIn("Unrecognized protocol version", eng.log.warning)
     pos = board.Position(board.Color.GOLD, 4, board.BASIC_SETUP)
     ctl.newgame()
     ctl.setposition(pos)
     ctl.go()
     ctl.stop()
     ctl.quit()
コード例 #6
0
ファイル: test_aei.py プロジェクト: Janzert/AEI
 def test_protocol_versions(self):
     eng = MockEngine(protocol0)
     ctl = EngineController(eng)
     self.assertEqual(ctl.ident["name"], "Mock0")
     self.assertEqual(ctl.ident["author"], "Janzert")
     self.assertEqual(ctl.protocol_version, 0)
     ctl.newgame()
     pos = board.Position(board.Color.GOLD, 4, board.BASIC_SETUP)
     ctl.setposition(pos)
     ctl.cleanup()
     # bad protocol version
     eng = MockEngine(bad_protocol)
     eng.log = MockLog()
     ctl = EngineController(eng)
     self.assertIn("Unrecognized protocol version", eng.log.warning)
     pos = board.Position(board.Color.GOLD, 4, board.BASIC_SETUP)
     ctl.newgame()
     ctl.setposition(pos)
     ctl.go()
     ctl.stop()
     ctl.quit()
コード例 #7
0
ファイル: analyze.py プロジェクト: boomft/arimaa
        move = move[3:]
        pos = pos.do_move_str(move)
        eng.makemove(move)
print pos.board_to_str()

for option in config.options(bot_section):
    if option.startswith("post_pos_"):
        value = config.get(bot_section, option)
        eng.setoption(option[9:], value)

search_position = True
if config.has_option("global", "search_position"):
    sp_str = config.get("global", "search_position")
    search_position = not (sp_str.lower() in ["false", "0", "no"])
if search_position:
    eng.go()

while True:
    try:
        resp = eng.get_response(10)
        if resp.type == "info":
            print resp.message
        elif resp.type == "log":
            print "log: %s" % resp.message
        elif resp.type == "bestmove":
            print "bestmove: %s" % resp.move
            break
    except socket.timeout:
        if not search_position:
            break
コード例 #8
0
        move = move[3:]
        pos = pos.do_move_str(move)
        eng.makemove(move)
print pos.board_to_str()

for option in config.options(bot_section):
    if option.startswith("post_pos_"):
        value = config.get(bot_section, option)
        eng.setoption(option[9:], value)

search_position = True
if config.has_option("global", "search_position"):
    sp_str = config.get("global", "search_position")
    search_position = not (sp_str.lower() in ["false", "0", "no"])
if search_position:
    eng.go()

while True:
    try:
        resp = eng.get_response(10)
        if resp.type == "info":
            print resp.message
        elif resp.type == "log":
            print "log: %s" % resp.message
        elif resp.type == "bestmove":
            print "bestmove: %s" % resp.move
            break
    except socket.timeout:
        if not search_position:
            break