def spawnExtraPlayers(playerType, amount, names=None):
    # Returns: Array with amount of players specified. Returns object if amount == 1
    if isinstance(playerType, Bot):
        # Spawn bots
        if amount == 1:
            return Bot()
        else:
            return [Bot() for i in range(amount)]

    else:
        # Spawn humans
        if amount == 1:
            return HumanPlayer().randomName()
        else:
            return [HumanPlayer().randomName() for i in range(amount)]
    def test_decision_phase_human_to_human_pass(self):
        test_card = Card("2", None)
        extraPlayer = spawnExtraPlayers(HumanPlayer(), 1)

        f1 = sys.stdin
        f = open('../../test_data/decision_phase/decision_phase_test_#2.txt',
                 'r')
        sys.stdin = f
        self.humanPlayer.hand.append(test_card)

        self.engine.setPlayers([self.humanPlayer, extraPlayer])
        self.engine.initialize()

        self.assertIs(self.engine.getPlayerAmount(), 2)
        self.engine.decisionPhase(self.humanPlayer)

        f.close()
        sys.stdin = f1

        self.assertIs(self.humanPlayer.getChosenPlayer(), extraPlayer)
        self.assertEqual(self.humanPlayer.getChosenCard(), test_card)
Exemplo n.º 3
0
	def setUp(self):
		self.humanPlayer = HumanPlayer().randomName()
		self.botPlayer = Bot()
		self.engine = TestGoFishEngine(True)