def test_play_game(self): name1 = r p1 = Player_Wrapper(name1) name2 = s p2 = Player_Wrapper(name2) winner, loser, illegal = play_game(p1, p2, name1, name2) self.assertEqual(winner, [s]) self.assertEqual(loser, r) self.assertTrue(illegal)
def test_receive_stones(self): p = Player_Wrapper(s) self.assertEqual(p.receive_stones(BLACK), GONE_CRAZY) p.register() p.receive_stones(BLACK) self.assertEqual(p.player.color, BLACK) self.assertEqual(p.receive_stones(BLACK), GONE_CRAZY)
def test_add_player_to_tournament(self): name = r p = Player_Wrapper(name) add_player_to_tournament(p, name, False) self.assertEqual(players[name], p) self.assertEqual(rankings[name], 0) self.assertEqual(beaten[name], []) self.assertTrue(name in player_list)
def test_add_default_players(self): p = Player_Wrapper(s) add_player_to_tournament(p, s, False) sock, DefaultPlayer = setup_from_config() add_default_players(1, DefaultPlayer) self.assertEqual(len(players), 2) self.assertEqual(len(rankings), 2) self.assertEqual(len(beaten), 2) self.assertEqual(len(player_list), 2) sock.close()
from player import Player1, Player3 from player_wrapper import Player_Wrapper import random import admin import tournament_admin print("----------------Testing Game Admin----------------") for i in range(10): p1 = random.randint(0, 1) if p1 == 0: player1 = Player1("p1") else: player1 = Player3("p1") p1_wrap = Player_Wrapper(player1.name) p1_wrap.player = player1 name1 = p1_wrap.register() p2 = random.randint(0, 1) if p2 == 0: player2 = Player1("p2") else: player2 = Player3("p2") p2_wrap = Player_Wrapper(player2.name) p2_wrap.player = player2 name2 = p2_wrap.register() print(admin.administrate(p1_wrap, p2_wrap, name1, name2)) print("----------------Testing Tournament Admin----------------")
from helpers import * from play_wrapper import PlayWrapper from player_wrapper import Player_Wrapper PLAY_WRAP = PlayWrapper() PLAYER1_WRAP = Player_Wrapper() PLAYER2_WRAP = Player_Wrapper() class Referee: def __init__(self): self.boards = [EMPTY_BOARD] self.current_turn = None self.num_passes = 0 def get_boards(self): return self.boards def set_players(self, name1, name2): self.current_turn = PLAYER1_WRAP PLAYER1_WRAP.register() PLAYER2_WRAP.register() PLAYER1_WRAP.set_name(name1) PLAYER1_WRAP.receive_stones(BLACK) PLAYER2_WRAP.set_name(name2) PLAYER2_WRAP.receive_stones(WHITE) return PLAYER1_WRAP.get_color(), PLAYER2_WRAP.get_color() def make_action(self, action): if action == PASS: self.num_passes += 1
result = GONE_CRAZY elif request[0] == "make-a-move": try: result = PLAYER_WRAP.make_a_move(request[1]) except: result = GONE_CRAZY else: result = GONE_CRAZY return result def try_to_connect(config): try: sock.connect((config["IP"], config["port"])) except: try_to_connect(config) PLAYER_WRAP = Player_Wrapper() sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) config = get_config() try_to_connect(config) sock.send(pickle.dumps("establish connection")) while True: request = pickle.loads(sock.recv(4096)) if request == "close": break sock.send(pickle.dumps(get_response(request))) sock.close()
import sys import json from json import JSONDecoder, JSONDecodeError import re from player_wrapper import Player_Wrapper import play_wrapper play_wrap = play_wrapper.PlayWrapper() p1 = Player_Wrapper("no name") NOT_WHITESPACE = re.compile(r'[^\s]') def point_to_string(point): return str(point[1] + 1) + "-" + str(point[0] + 1) def decode_stacked(document, pos=0, decoder=JSONDecoder()): while True: match = NOT_WHITESPACE.search(document, pos) if not match: return pos = match.start() try: obj, pos = decoder.raw_decode(document, pos) except JSONDecodeError: raise Exception("Can't parse") yield obj s = ""
from player_wrapper import Player_Wrapper default_player = Player_Wrapper()
def test_make_move(self): p = Player_Wrapper(s) p.register() self.assertEqual(p.make_a_move(boards), GONE_CRAZY) p.receive_stones(WHITE) self.assertNotEqual(p.make_a_move(boards), GONE_CRAZY)
def test_register(self): p = Player_Wrapper(s) self.assertEqual(p.register(), s) self.assertEqual(p.register(), GONE_CRAZY)
def test_init(self): p = Player_Wrapper(s) self.assertEqual(p.register_flag, False) self.assertEqual(p.receive_flag, False) self.assertEqual(p.player.name, s)