Example #1
0
	def test_Forge(self):
		tu.print_test_header("test Forge")
		forge = prosperity.Forge(self.game, self.player1)
		steward = intrigue.Steward(self.game, self.player1)
		minion = intrigue.Minion(self.game, self.player1)
		torturer = intrigue.Torturer(self.game, self.player1)
		secret_chamber = intrigue.Secret_Chamber(self.game, self.player1)
		gold = supply_cards.Gold(self.game, self.player1)

		self.player1.hand.add(steward)
		self.player1.hand.add(minion)
		self.player1.hand.add(torturer)
		self.player1.hand.add(secret_chamber)
		self.player1.hand.add(gold)

		forge.play()
		# trash prices total to 8
		yield tu.send_input(self.player1, "post_selection", ["Steward", "Copper", "Copper", "Minion"])
		self.assertTrue(len(self.game.trash_pile) == 4)
		yield tu.send_input(self.player1, "selectSupply", ["Province"])
		self.assertTrue(self.player1.discard_pile[0].title == "Province")

		forge.play()
		# trash prices total to 13 -- nothing to gain
		yield tu.send_input(self.player1, "post_selection", ["Torturer", "Secret Chamber", "Gold"])
		self.assertTrue(self.player1.cb is None)
Example #2
0
	def test_Royal_Seal(self):
		tu.print_test_header("test Royal Seal")
		royal_seal = prosperity.Royal_Seal(self.game, self.player1)
		workers_village = prosperity.Workers_Village(self.game, self.player1)
		copper = supply_cards.Copper(self.game, self.player1)
		self.player1.hand.add(royal_seal)
		self.player1.hand.add(copper)
		tu.add_many_to_hand(self.player1, workers_village, 3)

		workers_village.play()
		workers_village.play()
		workers_village.play()

		royal_seal.play()
		yield tu.send_input(self.player1, "buyCard", "Curse")
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		yield tu.send_input(self.player1, "post_selection", ["Yes"])
		self.assertTrue(self.player1.deck[-1].title == "Curse")
		yield gen.sleep(.2)
		self.assertTrue(self.player1.last_mode["mode"] == "buy")

		yield tu.send_input(self.player1, "buyCard", "Silver")
		self.assertTrue(self.player1.last_mode["mode"] == "select")

		yield tu.send_input(self.player1, "post_selection", ["No"])
		self.assertTrue(self.player1.discard_pile[-1].title == "Silver")
		yield gen.sleep(.2)
		self.assertTrue(self.player1.last_mode["mode"] == "buy")
		yield tu.send_input(self.player1, "buyCard", "Mint")
		self.assertTrue(self.player1.last_mode["mode"] == "buy")
Example #3
0
	def test_Forge_nothing(self):
		tu.print_test_header("test Forge nothing")
		forge = prosperity.Forge(self.game, self.player1)
		forge.play()
		yield tu.send_input(self.player1, "post_selection", [])
		self.assertTrue(self.player1.last_mode["mode"] == "selectSupply")
		yield tu.send_input(self.player1, "selectSupply", ["Copper"])
		self.assertTrue(len(self.player1.waiter.waiting_on) == 0)
Example #4
0
	def test_Border_Village(self):
		tu.print_test_header("test Border Village")
		yield tu.send_input(self.player1, "buyCard", "Border Village")

		yield tu.send_input(self.player1, "selectSupply", ["Duchy"])

		self.assertTrue(len([x for x in self.player1.discard_pile if x.title == "Border Village"]) == 1)
		self.assertTrue(len([x for x in self.player1.discard_pile if x.title == "Duchy"]) == 1)
Example #5
0
	def test_invalid_selection(self):
		tu.print_test_header("test invalid selection")
		selection_future = self.player1.select(1, 1, ["Copper", "Curse"], "Select Copper or Curse")
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		yield tu.send_input(self.player1, "post_selection", ["Province"])
		self.assertTrue(selection_future.running())
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		yield tu.send_input(self.player1, "post_selection", ["Curse"])
		self.assertTrue(selection_future.result() == ["Curse"])
Example #6
0
	def test_Expand(self):
		tu.print_test_header("testing expand")
		expand = prosperity.Expand(self.game, self.player1)

		expand.play()
		yield tu.send_input(self.player1, "post_selection", ["Copper"])
		yield tu.send_input(self.player1, "post_selection", ["Silver"])

		self.assertTrue(self.player1.discard_pile[0].title == "Silver")
Example #7
0
	def test_Duchess_Feast(self):
		tu.print_test_header("Test Duchess Feast")
		feast = base.Feast(self.game, self.player1)
		self.player1.hand.add(feast)

		tu.send_input(self.player1, "play", "Feast")
		yield tu.send_input(self.player1, "post_selection", ["Duchy"])
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		yield tu.send_input(self.player1, "post_selection", ["Yes"])
		self.assertTrue(self.player1.discard_pile[-1].title == "Duchess")
Example #8
0
	def test_Crossroads_Throne_Room(self):
		tu.print_test_header("test Crossroads Throne Room")
		crossroads = hl.Crossroads(self.game, self.player1)
		throneroom = base.Throne_Room(self.game, self.player1)
		self.player1.hand.add(throneroom)
		self.player1.hand.add(crossroads)
		
		tu.send_input(self.player1, "play", "Throne Room")
		yield tu.send_input(self.player1, "post_selection", ["Crossroads"])
		self.assertTrue(self.player1.actions == 3)
Example #9
0
	def test_has_selectable(self):
		tu.print_test_header("test has selectable")
		#2 Remodels in hand
		tu.add_many_to_hand(self.player1, base.Remodel(self.game, self.player1), 2)
		#nothing in supply except remodel and gold both at 0 left
		self.game.supply.data = {"Remodel": [base.Remodel(self.game, None), 0], "Gold": [supply_cards.Gold(self.game, None), 0]}
		#try to remodel another remodel
		tu.send_input(self.player1, "play", "Remodel")
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		yield tu.send_input(self.player1, "post_selection", ["Remodel"])
		self.assertTrue(self.player1.last_mode["mode"] != "selectSupply")
Example #10
0
	def test_spam_cb(self):
		tu.print_test_header("test spam cb")
		self.player1.hand.add(base.Remodel(self.game, self.player1))
		self.player1.hand.add(supply_cards.Silver(self.game, self.player1))
		self.player1.hand.add(supply_cards.Silver(self.game, self.player1))

		tu.send_input(self.player1, "play", "Remodel")
		yield tu.send_input(self.player1, "post_selection", ["Silver"])
		yield tu.send_input(self.player1, "selectSupply", ["Silver"])
		self.assertTrue(self.player1.cb == None)
		yield tu.send_input(self.player1, "selectSupply", ["Silver"])
		self.assertTrue(len(self.player1.discard_pile) == 1)
Example #11
0
	def test_Embassy(self):
		tu.print_test_header("test Embassy")
		self.player1.balance = 5
		yield tu.send_input(self.player1, "buyCard", "Embassy")
		self.assertTrue(self.player2.discard_pile[-1].title == "Silver")
		self.assertTrue(self.player3.discard_pile[-1].title == "Silver")
		embassy = hl.Embassy(self.game, self.player2)
		copper = supply_cards.Copper(self.game, self.player2)
		tu.set_player_hand(self.player2, [embassy])
		tu.add_many_to_hand(self.player2, copper, 4)
		embassy.play()
		yield tu.send_input(self.player2, "post_selection", ["Copper", "Copper", "Copper"])
		self.assertTrue(len(self.player2.hand) == 6)
Example #12
0
	def test_watchtower_trader(self):
		tu.print_test_header("test Watchtower Trader")
		watchtower = prosperity.Watchtower(self.game, self.player1)
		trader = hl.Trader(self.game, self.player1)
		self.player1.hand.add(watchtower)
		self.player1.hand.add(trader)

		self.player1.spend_all_money()
		yield tu.send_input(self.player1, "buyCard", "Copper")
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		#order reactions, reveal trader then watchtower
		yield tu.send_input(self.player1, "post_selection", ["Watchtower", "Trader"])
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		#reveal trader
		yield tu.send_input(self.player1, "post_selection", ["Reveal"])
		self.assertTrue(self.game.supply.get_count("Copper") == 30)
		#gaining silver now
		yield tu.send_input(self.player1, "post_selection", ["Watchtower", "Trader"])
		# trader's reaction is ignored since its for silver
		# reveal watchtower
		yield tu.send_input(self.player1, "post_selection", ["Reveal"])
		yield tu.send_input(self.player1, "post_selection", ["Put on top of deck"])
		self.assertTrue(self.player1.deck[-1].title == "Silver")

		#watchtower from the copper earlier
		yield tu.send_input(self.player1, "post_selection", ["Reveal"])
		yield tu.send_input(self.player1, "post_selection", ["Put on top of deck"])
		self.assertTrue(self.player1.deck[-1].title == "Silver")
Example #13
0
	def test_Develop(self):
		tu.print_test_header("Test Develop")
		develop = hl.Develop(self.game, self.player1)
		tu.add_many_to_hand(self.player1, develop, 2)
		self.player1.hand.add(supply_cards.Copper(self.game, self.player1))
		self.player1.hand.add(supply_cards.Estate(self.game, self.player1))

		develop.play()

		yield tu.send_input(self.player1, "post_selection", ["Copper"])
		develop.play()
		yield tu.send_input(self.player1, "post_selection", ["Estate"])
		yield tu.send_input(self.player1, "selectSupply", ["Silver"])
		self.assertTrue("Silver" == self.player1.discard_pile[-1].title)
Example #14
0
	def test_Scheme(self):
		tu.print_test_header("test Scheme")
		scheme1 = hl.Scheme(self.game, self.player1)
		scheme2 = hl.Scheme(self.game, self.player2)

		tu.add_many_to_hand(self.player1, scheme1, 2)
		self.player2.hand.add(scheme2)

		tu.send_input(self.player1, "play", "Scheme")
		tu.send_input(self.player1, "play", "Scheme")
		self.player1.end_turn()
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		yield tu.send_input(self.player1, "post_selection", ["Scheme", "Scheme"])
		self.assertTrue(self.game.get_turn_owner() == self.player2)
		self.assertTrue(self.player1.hand.get_count("Scheme") == 2)

		tu.send_input(self.player2, "play", "Scheme")

		self.player2.end_turn()
		self.assertTrue(self.player2.last_mode["mode"] == "select")
		self.assertTrue(self.player2.last_mode["max_cards"] == 1)
		yield tu.send_input(self.player2, "post_selection", ["Scheme"])

		self.player3.end_turn()
		self.assertTrue(self.player3.last_mode["mode"] != "select")
Example #15
0
	def test_Ill_Gotten_Gains(self):
		tu.print_test_header("test Ill-Gotten Gains")
		ill_gotten_gains = hl.Ill_Gotten_Gains(self.game, self.player1)
		self.player1.hand.add(ill_gotten_gains)

		yield tu.send_input(self.player1, "buyCard", "Ill Gotten Gains")
		self.assertTrue(len([x for x in self.player2.discard_pile if x.title == "Curse"]) == 1)
		self.assertTrue(len([x for x in self.player3.discard_pile if x.title == "Curse"]) == 1)

		ill_gotten_gains.play()

		yield tu.send_input(self.player1, "post_selection", ["Yes"])

		self.assertTrue(len(self.player1.hand) == 6)
Example #16
0
	def test_Watchtower_react(self):
		tu.print_test_header("testing Watchtower reaction")
		watchtower = prosperity.Watchtower(self.game, self.player1)
		tu.set_player_hand(self.player1, [watchtower])
		self.player1.buy_card("Silver")
		#0 buys should end turn normally but we have a reaction so should still be player1's turn
		self.assertTrue(self.game.get_turn_owner().name == self.player1.name)
		#shouldn't trigger reaction wait for opponents
		self.assertTrue(self.player2.last_mode["mode"] != "wait")
		self.assertTrue(self.player3.last_mode["mode"] != "wait")

		yield tu.send_input(self.player1, "post_selection", ["Reveal"])
		yield tu.send_input(self.player1, "post_selection", ["Put on top of deck"])
		self.assertTrue(len(self.player1.discard_pile) == 0)
		self.assertTrue(self.player1.deck[-1].title == "Silver")
Example #17
0
	def test_Cutpurse(self):
		tu.print_test_header("test Cutpurse")
		cutpurse = sea.Cutpurse(self.game, self.player1)
		self.player1.hand.add(cutpurse)
		discard_future = gen.Future()
		self.player2.discard = unittest.mock.Mock(return_value=discard_future)
		self.player3.discard = unittest.mock.Mock(return_value=gen.Future())
		balance = self.player1.balance
		tu.send_input(self.player1, "play", "Cutpurse")
		
		self.assertTrue(self.player1.balance == balance + 2)
		self.player2.discard.assert_called_with(['Copper'], self.player2.discard_pile)
		discard_future.set_result([])
		yield gen.moment
		self.player3.discard.assert_called_with(['Copper'], self.player3.discard_pile)
Example #18
0
	def test_Stables(self):
		tu.print_test_header("test Stables")
		stables = hl.Stables(self.game, self.player1)
		stables2 = hl.Stables(self.game, self.player1)
		self.player1.hand.add(stables)
		self.player1.deck.append(stables2)
		stables.play()
		yield tu.send_input(self.player1, "post_selection", ["Copper"])
		# original hand of 6 - stables - copper = 4, draw 3 = 7
		self.assertTrue(len(self.player1.hand) == 7)
		self.assertTrue(self.player1.actions == 1)
		stables2.play()
		# nothing happens if you don't discard a treasure
		yield tu.send_input(self.player1, "post_selection", [])
		self.assertTrue(len(self.player1.hand) == 6)
		self.assertTrue(self.player1.actions == 0)
Example #19
0
	def test_Treasury(self):
		tu.print_test_header("test Treasury")
		treasury1 = sea.Treasury(self.game, self.player1)
		treasury2 = sea.Treasury(self.game, self.player1)
		self.player1.hand.add(treasury1)
		self.player1.hand.add(treasury2)

		select_future = gen.Future()
		self.player1.select = unittest.mock.Mock(return_value=select_future)
		tu.send_input(self.player1, "play", "Treasury")
		tu.send_input(self.player1, "play", "Treasury")
		self.player1.end_turn()
		self.player1.select.assert_called_once_with(1, 1, [0, 1, 2], unittest.mock.ANY)
		select_future.set_result([2])
		yield gen.sleep(.1)
		self.assertTrue(self.player1.hand.get_count("Treasury") == 2)
Example #20
0
	def test_Rabble(self):
		tu.print_test_header("test Rabble")
		rabble = prosperity.Rabble(self.game, self.player1)
		copper = supply_cards.Copper(self.game, self.player2)
		estate = supply_cards.Estate(self.game, self.player2)

		self.player2.deck.append(estate)
		self.player2.deck.append(copper)
		self.player2.deck.append(estate)

		duchy = supply_cards.Duchy(self.game, self.player3)
		gardens = base.Gardens(self.game, self.player3)
		great_hall = intrigue.Great_Hall(self.game, self.player3)

		self.player3.deck.append(duchy)
		self.player3.deck.append(gardens)
		self.player3.deck.append(great_hall)

		rabble.play()
		topdeck1 = self.player2.topdeck()
		topdeck2 = self.player2.topdeck()
		self.assertTrue(topdeck1.title == "Estate")
		self.assertTrue(topdeck2.title == "Estate")
		yield tu.send_input(self.player3, "post_selection", ["Gardens", "Duchy"])

		topdeck1 = self.player3.topdeck()
		topdeck2 = self.player3.topdeck()

		self.assertTrue(topdeck1.title == "Duchy")
		self.assertTrue(topdeck2.title == "Gardens")
Example #21
0
	def test_double_wait_timer(self):
		tu.print_test_header("test double wait")
		torturer = intr.Torturer(self.game, self.player1)
		self.player1.hand.add(torturer)
		torturer.play()
		self.assertTrue(self.player2.waiter.afk_timer != None)
		#timer for choosing which torturer method
		initial_timer = self.player2.waiter.afk_timer
		yield tu.send_input(self.player2, "post_selection", ["Discard 2 cards"])
		#timer for choosing which cards to discard
		second_timer = self.player2.waiter.afk_timer
		self.assertTrue(initial_timer != second_timer)
		yield tu.send_input(self.player2, "post_selection", ["Copper", "Copper"])
		self.assertTrue(self.player2.waiter.afk_timer == None)
		yield tornado.gen.sleep(3)
		self.assertTrue(self.player2.waiter.is_afk == False)
Example #22
0
	def test_Mountebank(self):
		tu.print_test_header("test Mountebank")
		mountebank = prosperity.Mountebank(self.game, self.player1)
		curse = supply_cards.Curse(self.game, self.player2)

		self.player2.hand.add(curse)

		mountebank.play()

		self.assertTrue(self.player1.balance == 2)
		yield tu.send_input(self.player2, "post_selection", ["Yes"])

		self.assertTrue(self.player2.discard_pile[0].title == "Curse")
		yield tu.send_input(self.player2, "post_selection", ["No"])
		#curse is gained first then copper
		self.assertTrue(self.player3.discard_pile[0].title == "Curse")
		self.assertTrue(self.player3.discard_pile[1].title == "Copper")
Example #23
0
	def test_Throne_Room_Scheme(self):
		tu.print_test_header("test Throne Room Scheme")
		scheme = hl.Scheme(self.game, self.player1)
		tr = base.Throne_Room(self.game, self.player1)
		self.player1.hand.add(scheme)
		self.player1.hand.add(tr)

		tr.play()
		yield tu.send_input(self.player1, "post_selection", ["Scheme"])
		self.player1.end_turn()
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		self.assertTrue(self.player1.last_mode["max_cards"] == 2)
		num_cards = len(self.player1.all_cards())
		yield tu.send_input(self.player1, "post_selection", ["Throne Room", "Scheme"])
		self.assertTrue(num_cards == len(self.player1.all_cards()))
		self.assertTrue("Throne Room" in self.player1.hand)
		self.assertTrue("Scheme" in self.player1.hand)
Example #24
0
    def test_Mountebank(self):
        tu.print_test_header("test Mountebank")
        mountebank = prosperity.Mountebank(self.game, self.player1)
        curse = supply_cards.Curse(self.game, self.player2)

        self.player2.hand.add(curse)

        mountebank.play()

        self.assertTrue(self.player1.balance == 2)
        yield tu.send_input(self.player2, "post_selection", ["Yes"])

        self.assertTrue(self.player2.discard_pile[0].title == "Curse")
        yield tu.send_input(self.player2, "post_selection", ["No"])
        #curse is gained first then copper
        self.assertTrue(self.player3.discard_pile[0].title == "Curse")
        self.assertTrue(self.player3.discard_pile[1].title == "Copper")
Example #25
0
	def test_Margrave(self):
		tu.print_test_header("test Margrave")
		margrave = hl.Margrave(self.game, self.player1)
		tu.set_player_hand(self.player1, [margrave])
		margrave.play()
		
		self.assertTrue(len(self.player1.hand)==3)
		self.assertTrue(len(self.player2.hand)==6)
		self.assertTrue(len(self.player3.hand)==6)

		yield tu.send_input(self.player2, "post_selection", ["Copper", "Copper", "Copper"])
		yield tu.send_input(self.player3, "post_selection", ["Copper", "Copper", "Copper"])

		self.assertTrue(len(self.player2.hand)==3)
		self.assertTrue(len(self.player2.discard_pile)==3)
		self.assertTrue(len(self.player3.hand)==3)
		self.assertTrue(len(self.player3.discard_pile)==3)
Example #26
0
    def test_Duchess(self):
        tu.print_test_header("Test Duchess")
        duchess = hl.Duchess(self.game, self.player1)
        self.player1.hand.add(duchess)

        player1top = self.player1.deck[-1]
        player2top = self.player2.deck[-1]
        player3top = self.player3.deck[-1]

        tu.send_input(self.player1, "play", "Duchess")
        self.assertTrue(self.player1.balance == 2)
        self.assertTrue(self.player1.last_mode["mode"] == "select")
        self.assertTrue(self.player2.last_mode["mode"] == "select")
        self.assertTrue(self.player3.last_mode["mode"] == "select")
        yield tu.send_input(self.player2, "post_selection", ["Discard"])
        self.assertTrue(self.player1.last_mode["mode"] == "select")
        self.assertTrue(self.player2.discard_pile[-1] == player2top)
        self.assertTrue(self.player2.last_mode["mode"] != "select")
        yield tu.send_input(self.player1, "post_selection", ["Put Back"])
        self.assertTrue(self.player1.deck[-1] == player1top)
        self.assertTrue(self.player1.last_mode["mode"] == "wait")
        yield tu.send_input(self.player3, "post_selection", ["Discard"])
        self.assertTrue(self.player1.last_mode["mode"] != "wait")

        self.player1.end_turn()
        self.player2.balance = 5
        yield tu.send_input(self.player2, "buyCard", "Duchy")
        self.assertTrue(self.player2.last_mode["mode"] == "select")
        yield tu.send_input(self.player2, "post_selection", ["Yes"])
        self.assertTrue(self.player2.last_mode["mode"] != "select")
        self.assertTrue(self.player2.discard_pile[-1].title == "Duchess")
Example #27
0
	def test_Duchess(self):
		tu.print_test_header("Test Duchess")
		duchess = hl.Duchess(self.game, self.player1)
		self.player1.hand.add(duchess)

		player1top = self.player1.deck[-1]
		player2top = self.player2.deck[-1]
		player3top = self.player3.deck[-1]

		tu.send_input(self.player1, "play", "Duchess")
		self.assertTrue(self.player1.balance == 2)
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		self.assertTrue(self.player2.last_mode["mode"] == "select")
		self.assertTrue(self.player3.last_mode["mode"] == "select")
		yield tu.send_input(self.player2, "post_selection", ["Discard"])
		self.assertTrue(self.player1.last_mode["mode"] == "select")
		self.assertTrue(self.player2.discard_pile[-1] == player2top)
		self.assertTrue(self.player2.last_mode["mode"] != "select")
		yield tu.send_input(self.player1, "post_selection", ["Put Back"])
		self.assertTrue(self.player1.deck[-1] == player1top)
		self.assertTrue(self.player1.last_mode["mode"] == "wait")
		yield tu.send_input(self.player3, "post_selection", ["Discard"])
		self.assertTrue(self.player1.last_mode["mode"] != "wait")

		self.player1.end_turn()
		self.player2.balance = 5
		yield tu.send_input(self.player2, "buyCard", "Duchy")
		self.assertTrue(self.player2.last_mode["mode"] == "select")
		yield tu.send_input(self.player2, "post_selection", ["Yes"])
		self.assertTrue(self.player2.last_mode["mode"] != "select")
		self.assertTrue(self.player2.discard_pile[-1].title == "Duchess")
Example #28
0
    def test_Ill_Gotten_Gains(self):
        tu.print_test_header("test Ill-Gotten Gains")
        ill_gotten_gains = hl.Ill_Gotten_Gains(self.game, self.player1)
        self.player1.hand.add(ill_gotten_gains)

        yield tu.send_input(self.player1, "buyCard", "Ill Gotten Gains")
        self.assertTrue(
            len([x for x in self.player2.discard_pile
                 if x.title == "Curse"]) == 1)
        self.assertTrue(
            len([x for x in self.player3.discard_pile
                 if x.title == "Curse"]) == 1)

        ill_gotten_gains.play()

        yield tu.send_input(self.player1, "post_selection", ["Yes"])

        self.assertTrue(len(self.player1.hand) == 6)
Example #29
0
	def test_Salvager(self):
		tu.print_test_header("test Salvager")
		salvager = sea.Salvager(self.game, self.player1)
		province = supply_cards.Province(self.game, self.player1)
		self.player1.hand.add(province)
		salvager.play()
		yield tu.send_input(self.player1, "post_selection", ["Province"])
		self.assertTrue(self.player1.buys == 2)
		self.assertTrue(self.player1.balance == 8)
Example #30
0
	def test_Masquerade_waits(self):
		tu.print_test_header("test Masquerade waits")
		masquerade = intrigue.Masquerade(self.game, self.player1)
		curse = supply_cards.Curse(self.game, self.player1)
		estate = supply_cards.Estate(self.game, self.player2)
		estate3 = supply_cards.Estate(self.game, self.player3)
		self.player1.hand.add(masquerade)
		self.player1.hand.add(curse)
		self.player2.hand.add(estate)
		self.player3.hand.add(estate3)

		masquerade.play()
		yield tu.send_input(self.player1, "post_selection", ["Curse"])
		self.assertTrue(self.player1.last_mode["mode"] == "wait")
		yield tu.send_input(self.player2, "post_selection", ["Estate"])
		self.assertTrue(self.player1.last_mode["mode"] == "wait")
		yield tu.send_input(self.player3, "post_selection", ["Estate"])
		self.assertTrue(self.player1.last_mode["mode"] == "select")
Example #31
0
    def test_Fools_Gold_Trader(self):
        tu.print_test_header("test Fool's Gold Trader")
        fg = hl.Fools_Gold(self.game, self.player2)
        trader = hl.Trader(self.game, self.player2)
        self.player2.hand.add(fg)
        self.player2.hand.add(trader)

        self.player1.balance = 8
        yield tu.send_input(self.player1, "buyCard", "Province")

        # trash fool's gold
        yield tu.send_input(self.player2, "post_selection", ["Yes"])
        # reveal trader
        yield tu.send_input(self.player2, "post_selection", ["Reveal"])
        yield tu.send_input(self.player2, "post_selection", ["Yes"])
        self.assertTrue(self.player2.discard_pile[-1].title == "Silver")
        self.assertTrue(self.game.trash_pile[-1].title == "Fool's Gold")
        self.assertTrue(self.player2.deck[-1].title != "Gold")
Example #32
0
    def test_Throne_Room_Scheme(self):
        tu.print_test_header("test Throne Room Scheme")
        scheme = hl.Scheme(self.game, self.player1)
        tr = base.Throne_Room(self.game, self.player1)
        self.player1.hand.add(scheme)
        self.player1.hand.add(tr)

        tr.play()
        yield tu.send_input(self.player1, "post_selection", ["Scheme"])
        self.player1.end_turn()
        self.assertTrue(self.player1.last_mode["mode"] == "select")
        self.assertTrue(self.player1.last_mode["max_cards"] == 2)
        num_cards = len(self.player1.all_cards())
        yield tu.send_input(self.player1, "post_selection",
                            ["Throne Room", "Scheme"])
        self.assertTrue(num_cards == len(self.player1.all_cards()))
        self.assertTrue("Throne Room" in self.player1.hand)
        self.assertTrue("Scheme" in self.player1.hand)
Example #33
0
	def test_Treasure_Map(self):
		tu.print_test_header("test Treasure Map")
		treasure_map = sea.Treasure_Map(self.game, self.player1)
		tu.add_many_to_hand(self.player1, treasure_map, 2)
		treasure_map.play()
		yield tu.send_input(self.player1, "post_selection", ["Yes"])
		for i in range (0, 4):
			self.assertTrue(self.player1.deck.pop().title == 'Gold')
		self.assertTrue(self.player1.hand.get_count('Treasure Map') == 0)
Example #34
0
	def test_Upgrade_Selection_issue_21(self):
		tu.print_test_header("test Upgrade selection issue 21")
		upgrade = intrigue.Upgrade(self.game, self.player1)
		throne_room = base.Throne_Room(self.game, self.player1)
		self.player1.deck.append(supply_cards.Estate(self.game, self.player1))
		self.player1.deck.append(supply_cards.Silver(self.game, self.player1))

		self.player1.hand.add(upgrade)
		self.player1.hand.add(throne_room)
		throne_room.play()
		yield tu.send_input(self.player1, "post_selection", ["Upgrade"])
		yield tu.send_input(self.player1, "post_selection", ["Silver"])
		yield tu.send_input(self.player1, "selectSupply", ["Coppersmith"])
		self.assertTrue(self.player1.discard_pile[-1].title == "Coppersmith")
		yield gen.moment
		yield tu.send_input(self.player1, "post_selection", ["Estate"])
		yield tu.send_input(self.player1, "selectSupply", ["Silver"])
		self.assertTrue(self.player1.discard_pile[-1].title == "Silver")
Example #35
0
	def test_Swindler(self):
		tu.print_test_header("test Swindler")
		swindler = intrigue.Swindler(self.game, self.player1)
		self.player2.deck.append(supply_cards.Copper(self.game, self.player2))
		self.player1.hand.add(swindler)

		swindler.play()
		yield tu.send_input(self.player1, "selectSupply", ["Curse"])
		self.assertTrue(self.player2.discard_pile[-1].title == "Curse")
Example #36
0
	def test_Fools_Gold_Trader(self):
		tu.print_test_header("test Fool's Gold Trader")
		fg = hl.Fools_Gold(self.game, self.player2)
		trader = hl.Trader(self.game, self.player2)
		self.player2.hand.add(fg)
		self.player2.hand.add(trader)

		self.player1.balance = 8
		yield tu.send_input(self.player1, "buyCard", "Province")

		# trash fool's gold
		yield tu.send_input(self.player2, "post_selection", ["Yes"])
		# reveal trader
		yield tu.send_input(self.player2, "post_selection", ["Reveal"])
		yield tu.send_input(self.player2, "post_selection", ["Yes"])
		self.assertTrue(self.player2.discard_pile[-1].title == "Silver")
		self.assertTrue(self.game.trash_pile[-1].title == "Fool's Gold")
		self.assertTrue(self.player2.deck[-1].title != "Gold")
Example #37
0
 def test_double_wait_timer(self):
     tu.print_test_header("test double wait")
     torturer = intr.Torturer(self.game, self.player1)
     self.player1.hand.add(torturer)
     torturer.play()
     self.assertTrue(self.player2.waiter.afk_timer != None)
     #timer for choosing which torturer method
     initial_timer = self.player2.waiter.afk_timer
     yield tu.send_input(self.player2, "post_selection",
                         ["Discard 2 cards"])
     #timer for choosing which cards to discard
     second_timer = self.player2.waiter.afk_timer
     self.assertTrue(initial_timer != second_timer)
     yield tu.send_input(self.player2, "post_selection",
                         ["Copper", "Copper"])
     self.assertTrue(self.player2.waiter.afk_timer == None)
     yield tornado.gen.sleep(3)
     self.assertTrue(self.player2.waiter.is_afk == False)
Example #38
0
    def test_Talisman_Supply(self):
        tu.print_test_header("test Talisman supply")
        talisman = prosperity.Talisman(self.game, self.player1)
        self.player1.hand.add(talisman)

        talisman.play()
        coppers = self.game.supply.get_count("Copper")
        yield tu.send_input(self.player1, "buyCard", "Copper")
        self.assertTrue(self.game.supply.get_count("Copper") == coppers - 2)
Example #39
0
	def test_Talisman_Supply(self):
		tu.print_test_header("test Talisman supply")
		talisman = prosperity.Talisman(self.game, self.player1)
		self.player1.hand.add(talisman)

		talisman.play()
		coppers = self.game.supply.get_count("Copper")
		yield tu.send_input(self.player1, "buyCard", "Copper")
		self.assertTrue(self.game.supply.get_count("Copper") == coppers - 2)
Example #40
0
	def test_Pearl_Diver(self):
		tu.print_test_header("test Pearl Diver")
		pearl_diver = sea.Pearl_Diver(self.game, self.player1)
		pearl_diver.play()
		self.assertTrue(len(self.player1.hand) == 6)
		self.assertTrue(self.player1.actions == 1)
		bottom_deck = self.player1.deck[0]
		yield tu.send_input(self.player1, "post_selection", ["Yes"])
		self.assertTrue(self.player1.topdeck() == bottom_deck)
Example #41
0
	def test_Minion(self):
		tu.print_test_header("test Minion")
		minion = intrigue.Minion(self.game, self.player1)
		self.player1.hand.add(minion)
		moat = base.Moat(self.game, self.player3)
		self.player3.hand.add(moat)
		#top 4 cards of player2's deck will be drawn
		top4 = self.player2.deck[-4:]
		discard_size = len(self.player2.discard_pile)
		minion.play()
		yield tu.send_input(self.player1, "post_selection", ["discard hand and draw 4 cards"])
		yield tu.send_input(self.player3, "post_selection", ["Reveal"])
		yield gen.sleep(.2)
		self.assertTrue(len(self.player1.hand) == 4)
		self.assertTrue(len(self.player2.hand) == 4)
		for x in top4:
			self.assertTrue(x in self.player2.hand.card_array())
		self.assertTrue(discard_size + 5 == len(self.player2.discard_pile))
		self.assertTrue(len(self.player3.hand) > 4)
Example #42
0
    def test_Bishop(self):
        tu.print_test_header("test Bishop")
        bishop = prosperity.Bishop(self.game, self.player1)
        steward = intrigue.Steward(self.game, self.player1)
        self.player1.hand.add(steward)

        bishop.play()
        self.assertTrue(self.player1.balance == 1)
        self.assertTrue(self.player1.vp == 1)

        yield tu.send_input(self.player1, "post_selection", ["Steward"])

        self.assertTrue(self.player1.vp == 2)
        yield tu.send_input(self.player2, "post_selection", ["None"])
        yield tu.send_input(self.player3, "post_selection", ["Copper"])

        self.assertTrue(self.player3.vp == 0)
        self.assertTrue(len(self.player3.hand.card_array()) == 4)
        self.assertTrue(len(self.player2.hand.card_array()) == 5)
Example #43
0
    def test_Forge_Peddler(self):
        tu.print_test_header("test Forge Peddler")
        peddler = prosperity.Peddler(self.game, self.player1)
        self.player1.hand.add(peddler)
        #add one lab to hand
        self.player1.hand.add(base.Laboratory(self.game, self.player1))
        #add forge
        self.player1.hand.add(prosperity.Forge(self.game, self.player1))

        self.assertTrue(self.game.price_modifier["Peddler"] == 0)
        yield tu.send_input(self.player1, "play", "Laboratory")
        self.assertTrue(self.game.price_modifier["Peddler"] == 0)
        yield tu.send_input(self.player1, "play", "Forge")
        self.assertTrue(self.game.card_from_title("Peddler").get_price() == 8)
        yield tu.send_input(self.player1, "post_selection", ["Peddler"])
        self.assertTrue(self.game.card_from_title("Peddler").get_price() == 8)
        yield tu.send_input(self.player1, "post_selection", ["Province"])
        self.player1.spend_all_money()
        self.assertTrue(self.game.card_from_title("Peddler").get_price() == 4)
Example #44
0
    def test_trader_royal_seal(self):
        tu.print_test_header("test Royal Seal Trader")
        royal_seal = prosperity.Royal_Seal(self.game, self.player1)
        trader = hl.Trader(self.game, self.player1)
        self.player1.hand.add(royal_seal)
        self.player1.hand.add(trader)

        royal_seal.play()
        yield tu.send_input(self.player1, "buyCard", "Copper")
        self.assertTrue(self.player1.last_mode["mode"] == "select")
        yield tu.send_input(self.player1, "post_selection", ["Reveal"])
        self.assertTrue(self.game.get_turn_owner() == self.player1)

        self.assertTrue(self.player1.last_mode["mode"] == "select")
        # royal seal triggers
        self.assertTrue(self.game.get_turn_owner() == self.player1)
        self.assertTrue(self.player1.last_mode["mode"] == "select")
        yield tu.send_input(self.player1, "post_selection", ["Yes"])
        self.assertTrue(self.player1.deck[-1].title == "Silver")
Example #45
0
 def test_Cache(self):
     tu.print_test_header("test Cache")
     yield tu.send_input(self.player1, "buyCard", "Cache")
     self.assertTrue(len(self.player1.discard_pile) == 3)
     self.assertTrue(
         len([x for x in self.player1.discard_pile
              if x.title == "Cache"]) == 1)
     self.assertTrue(
         len([x for x in self.player1.discard_pile
              if x.title == "Copper"]) == 2)
Example #46
0
    def test_Margrave(self):
        tu.print_test_header("test Margrave")
        margrave = hl.Margrave(self.game, self.player1)
        tu.set_player_hand(self.player1, [margrave])
        margrave.play()

        self.assertTrue(len(self.player1.hand) == 3)
        self.assertTrue(len(self.player2.hand) == 6)
        self.assertTrue(len(self.player3.hand) == 6)

        yield tu.send_input(self.player2, "post_selection",
                            ["Copper", "Copper", "Copper"])
        yield tu.send_input(self.player3, "post_selection",
                            ["Copper", "Copper", "Copper"])

        self.assertTrue(len(self.player2.hand) == 3)
        self.assertTrue(len(self.player2.discard_pile) == 3)
        self.assertTrue(len(self.player3.hand) == 3)
        self.assertTrue(len(self.player3.discard_pile) == 3)
Example #47
0
    def test_Watchtower_Witch(self):
        tu.print_test_header("testing Watchtower witch")
        self.player1.end_turn()
        self.assertTrue(self.game.get_turn_owner().name == self.player2.name)

        witch = base.Witch(self.game, self.player2)
        self.player2.hand.add(witch)
        watchtower2 = prosperity.Watchtower(self.game, self.player1)
        self.player1.hand.add(watchtower2)

        witch.play()
        self.assertTrue(self.player2.last_mode["mode"] == "wait")
        self.assertTrue(self.player3.discard_pile[-1].title == "Curse")
        yield tu.send_input(self.player1, "post_selection", ["Reveal"])
        self.assertTrue(self.player2.last_mode["mode"] == "wait")
        yield tu.send_input(self.player1, "post_selection", ["Trash"])
        yield gen.sleep(.1)

        self.assertTrue(self.player2.last_mode["mode"] != "wait")
        self.assertTrue(self.game.trash_pile[-1].title == "Curse")
Example #48
0
	def test_Mining_Village(self):
		tu.print_test_header("test Mining Village")
		mining_village = intrigue.Mining_Village(self.game, self.player1)
		mining_village2 = intrigue.Mining_Village(self.game, self.player1)
		self.player1.hand.add(mining_village)
		self.player1.hand.add(mining_village2)

		mining_village.play()
		yield tu.send_input(self.player1, "post_selection", ["No"])
		self.assertTrue(self.player1.actions == 2)
		self.assertTrue(mining_village not in self.game.trash_pile)

		# note discard takes in a string as a parameter so the trashed mining village
		# could be mining_village or mining_village2 it is not guaranteed to be the same
		mining_village2.play()
		yield tu.send_input(self.player1, "post_selection", ["Yes"])
		self.assertTrue(self.player1.actions == 3)
		self.assertTrue(self.game.trash_pile[-1].title == "Mining Village")
		self.assertTrue(len(self.player1.played_cards)==1)
		self.assertTrue(self.player1.balance == 2)
Example #49
0
    def test_Rabble_Moat(self):
        tu.print_test_header("test Rabble moat")
        rabble = prosperity.Rabble(self.game, self.player1)
        moat2 = base.Moat(self.game, self.player2)
        moat3 = base.Moat(self.game, self.player3)

        self.player1.hand.add(rabble)
        self.player2.hand.add(moat2)
        self.player3.hand.add(moat3)

        player2decksize = len(self.player2.deck)
        player3decksize = len(self.player3.deck)

        yield tu.send_input(self.player1, "play", "Rabble")
        yield tu.send_input(self.player2, "post_selection", ["Reveal"])
        self.assertTrue(self.player1.last_mode["mode"] == "wait")
        yield tu.send_input(self.player3, "post_selection", ["Reveal"])
        yield gen.sleep(.2)
        self.assertTrue(self.player1.last_mode["mode"] != "wait")
        self.assertTrue(player2decksize == len(self.player2.deck))
        self.assertTrue(player3decksize == len(self.player3.deck))
Example #50
0
    def test_Crossroads(self):
        tu.print_test_header("test Crossroads")
        crossroads = hl.Crossroads(self.game, self.player1)
        tu.add_many_to_hand(self.player1, crossroads, 2)
        base_hand_size = len(self.player1.hand)
        num_victory_cards = len(self.player1.hand.get_cards_by_type("Victory"))

        tu.send_input(self.player1, "play", "Crossroads")
        num_actions = self.player1.actions
        self.assertTrue(num_actions == 3)
        self.assertTrue(
            len(self.player1.hand) == num_victory_cards + base_hand_size - 1)
        base_hand_size = len(self.player1.hand)
        num_victory_cards = len(self.player1.hand.get_cards_by_type("Victory"))
        deck_size = len(self.player1.deck)

        tu.send_input(self.player1, "play", "Crossroads")
        self.assertTrue(self.player1.actions == num_actions - 1)
        expected_drawn = min(deck_size, num_victory_cards)
        self.assertTrue(
            len(self.player1.hand) == expected_drawn + base_hand_size - 1)
Example #51
0
	def test_Warehouse(self):
		tu.print_test_header("test Warehouse")
		copper = supply_cards.Copper(self.game, self.player1)
		self.player1.hand.add(copper)
		warehouse = sea.Warehouse(self.game, self.player1)
		warehouse.play()

		self.assertTrue(self.player1.actions == 1)
		self.assertTrue(len(self.player1.hand) == 9)

		yield tu.send_input(self.player1, "post_selection", ["Copper", "Copper", "Copper"])
		self.assertTrue(len(self.player1.hand) == 6)
Example #52
0
	def test_Conspirator_Throne_Room(self):
		tu.print_test_header("test Conspirator Throne Room")
		conspirator = intrigue.Conspirator(self.game, self.player1)
		throne_room = base.Throne_Room(self.game, self.player1)
		tu.set_player_hand(self.player1, [conspirator, throne_room])
		throne_room.play()
		handsize = len(self.player1.hand)
		yield tu.send_input(self.player1, "post_selection", ["Conspirator"])
		self.assertTrue(self.player1.actions == 1)
		self.assertTrue(self.player1.balance == 4)
		#discard conspirator, draw 1 card should have same handsize
		self.assertTrue(handsize == len(self.player1.hand))
Example #53
0
    def test_throne_room_throne_room(self):
        tu.print_test_header("Test throne room throne room")
        throneroom = base.Throne_Room(self.game, self.player1)
        throneroom2 = base.Throne_Room(self.game, self.player1)
        self.player1.hand.add(throneroom)
        self.player1.hand.add(throneroom2)
        yield tu.send_input(self.player1, "play", "Throne Room")
        yield tu.send_input(self.player1, "post_selection", ["Throne Room"])

        self.player1.end_turn()
        self.player2.end_turn()
        self.player3.end_turn()

        self.player1.hand.add(throneroom)
        self.player1.hand.add(throneroom2)
        self.player1.hand.add(base.Village(self.game, self.player1))
        self.player1.hand.add(base.Village(self.game, self.player1))
        self.player1.hand.add(base.Woodcutter(self.game, self.player1))
        yield tu.send_input(self.player1, "play", "Throne Room")
        yield tu.send_input(self.player1, "post_selection", ["Village"])
        self.assertTrue(self.player1.actions == 4)
        self.assertTrue(self.player1.last_mode["mode"] == "action")

        yield tu.send_input(self.player1, "play", "Throne Room")
        yield tu.send_input(self.player1, "post_selection", ["Woodcutter"])
        self.assertTrue(self.player1.balance == 4)
        self.assertTrue(self.player1.last_mode["mode"] == "action")
Example #54
0
    def test_Trader(self):
        tu.print_test_header("test Trader")
        witch = base.Witch(self.game, self.player1)
        trader = hl.Trader(self.game, self.player2)

        #2 curses left
        for i in range(0, self.game.supply.get_count("Curse") - 2):
            self.game.remove_from_supply("Curse")

        self.player1.hand.add(witch)
        self.player2.hand.add(trader)
        #reaction
        tu.send_input(self.player1, "play", "Witch")
        self.assertTrue(self.player1.last_mode["mode"] == "wait")
        yield tu.send_input(self.player2, "post_selection", ["Reveal"])
        self.assertTrue(len(self.game.trash_pile) == 0)
        #and gained a silver
        self.assertTrue(self.player2.discard_pile[-1].title == "Silver")
        yield gen.sleep(.1)
        self.assertTrue(self.player1.last_mode["mode"] != "wait")
        self.assertTrue(self.player3.discard_pile[-1].title == "Curse")

        #one curse returned to supply
        self.assertTrue(self.game.supply.get_count("Curse") == 1)
        self.assertTrue(self.game.empty_piles == 0)

        self.player1.end_turn()

        self.player2.hand.add(supply_cards.Estate(self.game, self.player2))
        tu.send_input(self.player2, "play", "Trader")
        yield tu.send_input(self.player2, "post_selection", ["Estate"])
        self.assertTrue(len(self.player2.discard_pile) == 3)
Example #55
0
 def test_Spice_Merchant(self):
     tu.print_test_header("test Spice Merchant")
     spice_merchant1 = hl.Spice_Merchant(self.game, self.player1)
     spice_merchant2 = hl.Spice_Merchant(self.game, self.player1)
     copper = supply_cards.Copper(self.game, self.player1)
     silver = supply_cards.Silver(self.game, self.player1)
     self.player1.hand.add(spice_merchant1)
     self.player1.hand.add(spice_merchant2)
     self.player1.deck = [silver] * 5
     self.player1.hand.add(copper)
     yield tu.send_input(self.player1, "play", "Spice Merchant")
     yield tu.send_input(self.player1, "post_selection", ["Copper"])
     yield tu.send_input(self.player1, "post_selection",
                         ["+2 cards +1 action"])
     self.assertTrue(copper in self.game.trash_pile)
     self.assertTrue(
         len(self.player1.hand.card_array()) == 8
     )  # We started with 5 cards and then added 2 SMs and a copper (8 cards), then put one in
     yield tu.send_input(
         self.player1, "play", "Spice Merchant"
     )  # play and trashed the copper, then drew 2 brining us back to 8
     yield tu.send_input(self.player1, "post_selection", ["Copper"])
     yield tu.send_input(self.player1, "post_selection", ["+$2 +1 buy"])
     self.assertTrue(len(self.game.trash_pile) == 2)
     self.assertTrue(self.player1.buys == 2)
     self.assertTrue(self.player1.balance == 2)
Example #56
0
    def test_Fools_Gold(self):
        tu.print_test_header("test Fool's Gold")
        fg = hl.Fools_Gold(self.game, self.player1)
        tu.clear_player_hand(self.player1)
        tu.add_many_to_hand(self.player1, fg, 3)

        fg2 = hl.Fools_Gold(self.game, self.player3)
        tu.add_many_to_hand(self.player3, fg2, 2)

        yield tu.send_input(self.player1, "play", "Fool's Gold")
        yield tu.send_input(self.player1, "play", "Fool's Gold")
        yield tu.send_input(self.player1, "play", "Fool's Gold")
        self.assertTrue(self.player1.balance == 9)

        yield tu.send_input(self.player1, "buyCard", "Province")
        self.assertTrue(self.player3.last_mode["mode"] == "select")
        self.assertTrue(self.game.get_turn_owner() == self.player1)
        # Trash fool's gold
        yield tu.send_input(self.player3, "post_selection", ["Yes"])
        self.assertTrue(len(self.player3.hand) == 6)
        self.assertTrue(self.player3.deck[-1].title == "Gold")
        self.assertTrue(self.game.trash_pile[-1].title == "Fool's Gold")
        self.assertTrue(self.player3.last_mode["mode"] == "select")
        yield tu.send_input(self.player3, "post_selection", ["Yes"])
        self.assertTrue(self.player3.deck[-2].title == "Gold")
Example #57
0
	def test_Torturer_Throne_Room(self):
		tu.print_test_header("test Torturer Throne Room")
		throne_room = base.Throne_Room(self.game, self.player1)
		torturer = intrigue.Torturer(self.game, self.player1)
		self.player1.hand.add(torturer)

		throne_room.play()
		#Throne room a torturer
		yield tu.send_input(self.player1, "post_selection", ["Torturer"])
		#Player 2 is choosing, everyone else waits
		self.assertTrue(self.player1.last_mode["mode"] == "wait")
		self.assertTrue("player2" in self.player1.last_mode["msg"])
		self.assertTrue(self.player3.last_mode["mode"] == "wait")

		yield tu.send_input(self.player2, "post_selection", ["Gain a Curse"])
		#player3's turn to get torturered
		self.assertTrue("player3" in self.player1.last_mode["msg"])
		self.assertTrue(self.player3.last_mode["mode"] != "wait")
		self.assertTrue(self.player2.last_mode["mode"] == "wait")
		self.assertTrue(self.player1.last_mode["mode"] == "wait")

		yield tu.send_input(self.player3, "post_selection", ["Gain a Curse"])
		self.assertTrue("Curse" in self.player3.hand)
		yield gen.sleep(.1)
		#Second torturer
		yield tu.send_input(self.player2, "post_selection", ["Discard 2 cards"])
		self.assertTrue(self.player1.last_mode["mode"] == "wait")
		self.assertTrue(self.player3.last_mode["mode"] == "wait")
		yield tu.send_input(self.player2, "post_selection", ["Curse", "Copper"])
		self.assertTrue(self.player3.last_mode["mode"] != "wait")
		yield tu.send_input(self.player3, "post_selection", ["Gain a Curse"])
		self.assertTrue(self.player1.last_mode["mode"] != "wait")