def test_bb_to_from_ch_state(self): # corner case: empty board. ch_state = ' ' * 64 psns = bb.bboards_from_char_state(ch_state) self.assertEquals(psns, dict((ch, 0) for ch in 'wbemhdcr')) self.assertEquals(ch_state, bb.char_state_from_bboards(psns)) # test all piece types. ch_state = [' '] * 64 pieces = 'rcdhmeRCDHME' for idx, p in enumerate(pieces, 10): ch_state[idx] = p psns = bb.bboards_from_char_state(ch_state) self.assertEquals(''.join(ch_state), bb.char_state_from_bboards(psns))
def test_games_from_compressed(): for game in games_from_compressed(ALLGAMESFILE): board = _test_game_setup(game) header = "#" + "-" * 79 print header print "Game ID:", game["id"] print pprint_from_board_str(board) allmoves = game["movelist"] end_bb = play_archive_game(allmoves) board = char_state_from_bboards(end_bb) print print pprint_from_board_str(board) print "TERMINATION: {}".format(game["termination"]) if game["termination"].lower() == "g": tg = is_goal(end_bb) assert tg == game["result"] print "GOAL: {}".format(game["result"]) print header