示例#1
0
 def setUp(self):
     self.unknown_card = HanabiCard(HanabiColor.RED, 5)
     self.known_card = HanabiCard(HanabiColor.BLUE, 1)
     self.known_card.disclose_color(HanabiColor.BLUE)
     self.known_card.disclose_rank()
     self.rank_known_card = HanabiCard(HanabiColor.GREEN, 3)
     self.rank_known_card.disclose_rank()
示例#2
0
 def test_hand_with_rainbow_cards(self):
     card1 = HanabiCard(HanabiColor.RED, 2)
     card2 = HanabiCard(HanabiColor.RAINBOW, 2)
     hand = HanabiHand()
     hand.add(card1)
     hand.add(card2)
     self.assertEqual(["??", "??"], hand.show_cards(True))
     hand.disclose_color(HanabiColor.RED, True)
     self.assertEqual(["R?", "R?"], hand.show_cards(True))
     hand.disclose_color(HanabiColor.GREEN, True)
     self.assertEqual(["R?", "*?"], hand.show_cards(True))
示例#3
0
 def test_rainbow_card_avoid_accidental_reveal(self):
     rainbow_card = HanabiCard(HanabiColor.RAINBOW, 2)
     self.assertEqual("??", rainbow_card.known())
     rainbow_card.disclose_color(HanabiColor.RED, True)
     self.assertEqual("R?", rainbow_card.known())
     rainbow_card.disclose_color(HanabiColor.RED, True)
     self.assertEqual("R?", rainbow_card.known())
示例#4
0
 def test_rainbow_card(self):
     rainbow_card = HanabiCard(HanabiColor.RAINBOW, 2)
     self.assertEqual("*2", str(rainbow_card))
     self.assertEqual("??", rainbow_card.known())
     rainbow_card.disclose_rank()
     self.assertEqual("?2", rainbow_card.known())
     rainbow_card.disclose_color(HanabiColor.RED, True)
     self.assertEqual("R2", rainbow_card.known())
     rainbow_card.disclose_color(HanabiColor.GREEN, True)
     self.assertEqual("*2", rainbow_card.known())
 def test_table_play_card_incorrect_rainbow(self):
     #play white 1
     self.table.play_card(0, 2)
     self.assertEqual(1, self.table.score())
     #play rainbow 2, cannot since it is not wild
     self.table.play_card(0, 3)
     self.assertEqual(1, self.table.score())
     self.assertEqual(2, self.table.mistakes_left)
     self.assertTrue(
         HanabiCard(HanabiColor.RAINBOW, 2) in
         self.table.discard.discarded())
 def test_table_play_card_incorrect_rainbow(self):
     self.table.discard_card(0, 0)
     self.table.discard_card(0, 0)
     self.table.discard_card(0, 4)
     self.table.discard_card(0, 0)
     self.table.discard_card(0, 1)
     #play yellow 1 and 2
     self.table.play_card(0, 3)
     self.assertEqual(1, self.table.score())
     self.table.play_card(0, 2)
     self.assertEqual(2, self.table.score())
     #play rainbow 3, cannot since it is not wild
     self.table.play_card(0, 0)
     self.assertEqual(2, self.table.score())
     self.assertEqual(2, self.table.mistakes_left)
     self.assertTrue(
         HanabiCard(HanabiColor.RAINBOW, 3) in
         self.table.discard.discarded())
 def setUp(self):
     self.discard = HanabiDiscard()
     self.toDiscard = HanabiCard(HanabiColor.RED, 3)
示例#8
0
 def setUp(self):
     self.hand = HanabiHand()
     self.hand.add(HanabiCard(HanabiColor.BLUE, 2))
     self.hand.add(HanabiCard(HanabiColor.GREEN, 5))
     self.hand.add(HanabiCard(HanabiColor.BLUE, 1))
示例#9
0
 def test_hand_addCard(self):
     self.hand.add(HanabiCard(HanabiColor.WHITE, 1))
     self.assertEqual(self.hand.card_at(2), HanabiCard(HanabiColor.BLUE, 1))
示例#10
0
 def test_hand_removeCardAt(self):
     card = self.hand.remove_card_at(0)
     self.assertEqual(card, HanabiCard(HanabiColor.BLUE, 2))
示例#11
0
 def test_hand_cardAt(self):
     self.assertEqual(self.hand.card_at(0), HanabiCard(HanabiColor.BLUE, 2))
示例#12
0
 def test_eq(self):
     self.assertEqual(self.rank_known_card,
                      HanabiCard(HanabiColor.GREEN, 3))