Example #1
0
 def __init__(self, *args, **kwargs):
     PokerDisplay.__init__(self, *args, **kwargs)
     self.widget = QPokerWidget(kwargs["dataDir"])
     self.widget.seatClicked = lambda seat: self.seatClicked(seat)
     self.widget.foldClicked = lambda: self.foldClicked()
     self.widget.checkClicked = lambda: self.checkClicked()
     self.widget.callClicked = lambda: self.callClicked()
     self.widget.betClicked = lambda: self.betClicked()
     self.widget.show()
     self.serial2seat = {}
Example #2
0
 def setUp(self):
     self.widget = QPokerWidget()
Example #3
0
class QPokerWidgetTestCase(unittest.TestCase):
    def setUp(self):
        self.widget = QPokerWidget()
    def tearDown(self):
        self.widget = None
    def testWidgetDefaultState(self):
        for card in self.widget.board:
            self.assertEquals(False, card.isVisible())
    def testRenderChat(self):
        self.widget.renderChat("salut les aminches")
        self.assertEquals("salut les aminches", str(self.widget.chat.text()))
    def testRenderBoard(self):
        cards = ("As", "2c", "Qh", "Jd")
        ids = ("1_spade", "2_club", "queen_heart", "jack_diamond")
        map(lambda card, id: self.assertEquals(id, card2SvgElement(card)), cards, ids)            
        self.widget.renderBoard(cards)
        for i in range(len(cards)):
            item = self.widget.board[i]
            id = ids[i]
            self.assertEquals(True, item.isVisible())
            self.assertEquals(id, item.elementId())
        for i in range(len(cards), len(self.widget.board)):
            item = self.widget.board[i]
            self.assertEquals(False, item.isVisible())
            self.assertEquals('back', item.elementId())
    def testRenderEmptyBoard(self):
        cards = []
        self.widget.renderBoard(cards)
        map(lambda svgItem: self.assertEquals(False, svgItem.isVisible()), self.widget.board)
        map(lambda svgItem: self.assertEquals('back', svgItem.elementId()), self.widget.board)
    def testRenderStart(self):
        self.widget.renderStart()
        map(lambda svgItem: self.assertEquals(False, svgItem.isVisible()), self.widget.board)
        map(lambda svgItem: self.assertEquals('back', svgItem.elementId()), self.widget.board)
    def testRenderPlayerArrive(self):
        self.widget.renderPlayerArrive(0, "playerName")
        self.assertEquals('playerName', self.widget.names[0].text())
        self.assertEquals(True, self.widget.names[0].isVisible())
    def testRenderPlayerLeave(self):
        self.widget.renderPlayerLeave(0)
        self.assertEquals('', self.widget.names[0].text())
        self.assertEquals(False, self.widget.names[0].isVisible())
        self.assertEquals(False, self.widget.moneys[0].isVisible())
        self.assertEquals(False, self.widget.bets[0].isVisible())
    def testRenderPlayerChips(self):
        self.widget.renderPlayerChips(0, 10000, 100)
        self.assertEquals('10000', self.widget.moneys[0].text())
        self.assertEquals(True, self.widget.moneys[0].isVisible())
        self.assertEquals('100', self.widget.bets[0].text())
        self.assertEquals(True, self.widget.bets[0].isVisible())
        self.widget.renderPlayerChips(0, 10000, 0)
        self.assertEquals(False, self.widget.bets[0].isVisible())
    def testRenderPot(self):
        self.widget.renderPot(0, 10000)
        self.assertEquals('10000', self.widget.pots[0].text())
        self.assertEquals(True, self.widget.pots[0].isVisible())
        self.widget.renderPotReset()
        self.assertEquals('', self.widget.pots[0].text())
        self.assertEquals(False, self.widget.pots[0].isVisible())
    def testRenderPosition(self):
        position = 1
        self.widget.renderPosition(position)
        for i in range(10):
            if i == position:
                self.assertEquals('seat_inposition', str(self.widget.seats[i].elementId()))
            else:
                self.assertEquals('seat', str(self.widget.seats[i].elementId()))
        self.widget.renderPositionReset()
        for seat in self.widget.seats:
            self.assertEquals('seat', str(seat.elementId()))
    def testKeyPressEventZoomIn(self):
        matrix = self.widget.view.matrix()
        matrix.scale(1.1, 1.1)
        self.widget.keyPressEvent(KeyPressEventMockup('q'))
        self.assertEquals(matrix, self.widget.view.matrix())
    def testKeyPressEventZoomOut(self):
        matrix = self.widget.view.matrix()
        matrix.scale(0.9, 0.9)
        self.widget.keyPressEvent(KeyPressEventMockup('a'))
        self.assertEquals(matrix, self.widget.view.matrix())
    def testSeatClickedEvent(self):
        self.seatClicked = None
        def f(seat):
            self.seatClicked = seat
        self.widget.seatClicked = f
        self.widget.seats[0].mousePressEvent(None)
        self.assertEquals(0, self.seatClicked)
    def testFoldClickedEvent(self):
        self.foldClicked = None
        def f():
            self.foldClicked = True
        self.widget.foldClicked = f
        self.widget.fold.mousePressEvent(None)
        self.assertEquals(True, self.foldClicked)
    def testCheckClickedEvent(self):
        self.checkClicked = None
        def f():
            self.checkClicked = True
        self.widget.checkClicked = f
        self.widget.check.mousePressEvent(None)
        self.assertEquals(True, self.checkClicked)
    def testCallClickedEvent(self):
        self.callClicked = None
        def f():
            self.callClicked = True
        self.widget.callClicked = f
        self.widget.call.mousePressEvent(None)
        self.assertEquals(True, self.callClicked)
    def testBetClickedEvent(self):
        self.betClicked = None
        def f():
            self.betClicked = True
        self.widget.betClicked = f
        self.widget.bet.mousePressEvent(None)
        self.assertEquals(True, self.betClicked)
Example #4
0
class DummyPokerDisplay(PokerDisplay):
    def __init__(self, *args, **kwargs):
        PokerDisplay.__init__(self, *args, **kwargs)
        self.widget = QPokerWidget(kwargs["dataDir"])
        self.widget.seatClicked = lambda seat: self.seatClicked(seat)
        self.widget.foldClicked = lambda: self.foldClicked()
        self.widget.checkClicked = lambda: self.checkClicked()
        self.widget.callClicked = lambda: self.callClicked()
        self.widget.betClicked = lambda: self.betClicked()
        self.widget.show()
        self.serial2seat = {}
    def seatClicked(self, seat):
        protocol = self.protocol
        self.renderer.getSeat(PacketPokerSeat(game_id = protocol.getCurrentGameId(),
                                              serial = protocol.getSerial(),
                                              seat = seat))
    def foldClicked(self):
        protocol = self.protocol
        self.renderer.interactorSelected(PacketPokerFold(game_id = protocol.getCurrentGameId(), serial = protocol.getSerial()))            
    def checkClicked(self):
        protocol = self.protocol
        self.renderer.interactorSelected(PacketPokerCheck(game_id = protocol.getCurrentGameId(), serial = protocol.getSerial()))
    def callClicked(self):
        protocol = self.protocol
        self.renderer.interactorSelected(PacketPokerCall(game_id = protocol.getCurrentGameId(), serial = protocol.getSerial()))
    def betClicked(self):
        protocol = self.protocol
        self.renderer.interactorSelected(PacketPokerRaise(game_id = protocol.getCurrentGameId(),serial = protocol.getSerial(), amount = 0))
    def render(self, packet):
        print "PokerDisplay2D::render: " + str(packet)
        if packet.type == PACKET_POKER_CHAT:
            message = packet.message
            message = message.replace('\n', '')
            self.widget.renderChat(message)
        elif packet.type == PACKET_POKER_BOARD_CARDS:
            game = self.factory.getGame(packet.game_id)
            board = game.eval.card2string(packet.cards)
            self.widget.renderBoard(board)
        elif packet.type == PACKET_POKER_START:
            self.widget.renderStart()
        elif packet.type == PACKET_POKER_PLAYER_ARRIVE:
            self.serial2seat[packet.serial] = packet.seat
            self.widget.renderPlayerArrive(packet.seat, packet.name)
        elif packet.type == PACKET_POKER_PLAYER_LEAVE:
            del self.serial2seat[packet.serial]
            self.widget.renderPlayerLeave(packet.seat)
        elif packet.type == PACKET_POKER_PLAYER_CHIPS:
            self.widget.renderPlayerChips(self.serial2seat[packet.serial], packet.money, packet.bet)
        elif packet.type == PACKET_POKER_POT_CHIPS:
            game = self.factory.getGame(packet.game_id)
            pots = game.getPots()
            self.widget.renderPot(packet.index, pots['pots'][packet.index][0])
        elif packet.type == PACKET_POKER_CHIPS_POT_RESET:
            self.widget.renderPotReset()
        elif packet.type == PACKET_POKER_POSITION:
            if packet.serial == 0:
                self.widget.renderPositionReset()
            else:
                self.widget.renderPosition(self.serial2seat[packet.serial])