Exemplo n.º 1
0
    def testChoosePeerCardInputlet(self):
        from game.autoenv import user_input
        from thb.inputlets import ChoosePeerCardInputlet
        from thb.cards import migrate_cards

        g, p = self.makeGame()
        tgt = g.players[1]

        cards = g.deck.getcards(5)
        migrate_cards(cards, tgt.cards)

        showncards = g.deck.getcards(5)
        migrate_cards(showncards, tgt.showncards)

        ilet = ChoosePeerCardInputlet(self, target=tgt, categories=['cards'])
        ilet.set_card(cards[1])
        eq_(ilet.data(), cards[1].sync_id)

        p.client.gdlist.append([r'>I:ChoosePeerCard:\d+', cards[2].sync_id])
        ilet = ChoosePeerCardInputlet(self, target=tgt, categories=['cards'])
        eq_(user_input([p], ilet), cards[2])

        p.client.gdlist.append([r'>I:ChoosePeerCard:\d+', showncards[2].sync_id])
        ilet = ChoosePeerCardInputlet(self, target=tgt, categories=['cards'])
        eq_(user_input([p], ilet), None)

        p.client.gdlist.append([r'>I:ChoosePeerCard:\d+', 343434])
        ilet = ChoosePeerCardInputlet(self, target=tgt, categories=['cards'])
        eq_(user_input([p], ilet), None)
Exemplo n.º 2
0
    def testChoosePeerCardInputlet(self):
        from game.autoenv import user_input
        from thb.inputlets import ChoosePeerCardInputlet
        from thb.cards import migrate_cards

        g, p = self.makeGame()
        tgt = g.players[1]

        cards = g.deck.getcards(5)
        migrate_cards(cards, tgt.cards)

        showncards = g.deck.getcards(5)
        migrate_cards(showncards, tgt.showncards)

        ilet = ChoosePeerCardInputlet(self, target=tgt, categories=['cards'])
        ilet.set_card(cards[1])
        eq_(ilet.data(), cards[1].sync_id)

        p.client.gdlist.append([r'>I:ChoosePeerCard:\d+', cards[2].sync_id])
        ilet = ChoosePeerCardInputlet(self, target=tgt, categories=['cards'])
        eq_(user_input([p], ilet), cards[2])

        p.client.gdlist.append(
            [r'>I:ChoosePeerCard:\d+', showncards[2].sync_id])
        ilet = ChoosePeerCardInputlet(self, target=tgt, categories=['cards'])
        eq_(user_input([p], ilet), None)

        p.client.gdlist.append([r'>I:ChoosePeerCard:\d+', 343434])
        ilet = ChoosePeerCardInputlet(self, target=tgt, categories=['cards'])
        eq_(user_input([p], ilet), None)
Exemplo n.º 3
0
    def testActionInputlet(self):
        from game.autoenv import user_input
        from thb.cards import migrate_cards
        from thb.characters.eirin import FirstAid, Medic
        from thb.inputlets import ActionInputlet

        g, p = self.makeGame()
        c1, c2, c3 = g.deck.getcards(3)

        # migrate_cards([c1, c2, c3], p.cards, no_event=True)
        migrate_cards([c1, c2, c3], p.cards)

        ilet = ActionInputlet(self, ['cards', 'showncards'],
                              candidates=g.players)
        ilet.skills = [FirstAid]
        ilet.cards = [c1, c2]
        ilet.players = [p, p]
        ilet.actor = p
        eq_(ilet.data(), [[0], [c1.sync_id, c2.sync_id], [0, 0], {}])

        p.client.gdlist.append(
            [r'>I:Action:\d+', [[], [c1.sync_id, c2.sync_id], [], {}]])
        ilet = ActionInputlet(self, ['cards', 'showncards'], [])
        eq_(user_input([p], ilet), [[], [c1, c2], [], {}])

        p.client.gdlist.append(
            [r'>I:Action:\d+', [[0], [c2.sync_id, c3.sync_id], [], {}]])
        ilet = ActionInputlet(self, ['cards', 'showncards'], [])
        eq_(user_input([p], ilet), [[FirstAid], [c2, c3], [], {}])

        p.client.gdlist.append(
            [r'>I:Action:\d+', [[1, 0], [c3.sync_id, c1.sync_id], [0], {}]])
        ilet = ActionInputlet(self, ['cards', 'showncards'], [])
        eq_(user_input([p], ilet), [[Medic, FirstAid], [c3, c1], [], {}])

        p.client.gdlist.append(
            [r'>I:Action:\d+', [[1, 0], [c3.sync_id, c1.sync_id], [0], {}]])
        ilet = ActionInputlet(self, ['cards', 'showncards'],
                              candidates=g.players)
        eq_(user_input([p], ilet), [[Medic, FirstAid], [c3, c1], [p], {}])

        p.client.gdlist.append(
            [r'>I:Action:\d+', [[3, 0], [c3.sync_id, c1.sync_id], [0], {}]])
        ilet = ActionInputlet(self, ['cards', 'showncards'], [])
        eq_(user_input([p], ilet), None)

        p.client.gdlist.append([r'>I:Action:\d+', 'evil'])
        ilet = ActionInputlet(self, ['cards', 'showncards'], [])
        eq_(user_input([p], ilet), None)
Exemplo n.º 4
0
    def testActionInputlet(self):
        from game.autoenv import user_input
        from thb.cards import migrate_cards
        from thb.characters.eirin import FirstAid, Medic
        from thb.inputlets import ActionInputlet

        g, p = self.makeGame()
        c1, c2, c3 = g.deck.getcards(3)

        # migrate_cards([c1, c2, c3], p.cards, no_event=True)
        migrate_cards([c1, c2, c3], p.cards)

        ilet = ActionInputlet(self, ['cards', 'showncards'], candidates=g.players)
        ilet.skills = [FirstAid]
        ilet.cards = [c1, c2]
        ilet.players = [p, p]
        ilet.actor = p
        eq_(ilet.data(), [[0], [c1.sync_id, c2.sync_id], [0, 0], {}])

        p.client.gdlist.append([r'>I:Action:\d+', [[], [c1.sync_id, c2.sync_id], [], {}]])
        ilet = ActionInputlet(self, ['cards', 'showncards'], [])
        eq_(user_input([p], ilet), [[], [c1, c2], [], {}])

        p.client.gdlist.append([r'>I:Action:\d+', [[0], [c2.sync_id, c3.sync_id], [], {}]])
        ilet = ActionInputlet(self, ['cards', 'showncards'], [])
        eq_(user_input([p], ilet), [[FirstAid], [c2, c3], [], {}])

        p.client.gdlist.append([r'>I:Action:\d+', [[1, 0], [c3.sync_id, c1.sync_id], [0], {}]])
        ilet = ActionInputlet(self, ['cards', 'showncards'], [])
        eq_(user_input([p], ilet), [[Medic, FirstAid], [c3, c1], [], {}])

        p.client.gdlist.append([r'>I:Action:\d+', [[1, 0], [c3.sync_id, c1.sync_id], [0], {}]])
        ilet = ActionInputlet(self, ['cards', 'showncards'], candidates=g.players)
        eq_(user_input([p], ilet), [[Medic, FirstAid], [c3, c1], [p], {}])

        p.client.gdlist.append([r'>I:Action:\d+', [[3, 0], [c3.sync_id, c1.sync_id], [0], {}]])
        ilet = ActionInputlet(self, ['cards', 'showncards'], [])
        eq_(user_input([p], ilet), None)

        p.client.gdlist.append([r'>I:Action:\d+', 'evil'])
        ilet = ActionInputlet(self, ['cards', 'showncards'], [])
        eq_(user_input([p], ilet), None)