class TestDeckProtocolInteraction(unittest.TestCase):
    def setUp(self):
        self.deck = Deck()
        self.deck.indivKey = ['k%02d' % n for n in range(52)]

    def testGenerateDeck(self):
        with mock.patch.object(Protocol, 'generateDeck') as mockMethod:
            self.deck.generateDeck()
            mockMethod.assert_called_once()

    def testRevealToMe(self):
        with mock.patch.object(Protocol, 'revealToMe') as mockMethod:
            self.deck.revealToMe([15])
            mockMethod.assert_called_once_with([15])

    def testRevealToOpponent(self):
        with mock.patch.object(Protocol, 'revealToOpponent') as mockMethod:
            self.deck.revealToOpponent([2, 3])
            mockMethod.assert_called_once_with([2, 3], [self.deck.indivKey[2], self.deck.indivKey[3]])

    def testRevealToBoth(self):
        with mock.patch.object(Protocol, 'revealToBoth') as mockMethod:
            self.deck.revealToBoth([1])
            mockMethod.assert_called_once_with([1], [self.deck.indivKey[1]])

    def testVerifyDeck(self):
        with mock.patch.object(Protocol, 'revealToBoth') as mockMethod:
            self.deck.verifyDeck()
            mockMethod.assert_called_once_with(list(range(52)), self.deck.indivKey)
Exemplo n.º 2
0
 def setUp(self):
     self.defaultCards = ['%02d' % x for x in list(range(52))]
     self.sampleCards = [
             21, 34, 22, 20, 23, 49, 15, 19, 17, 37, 32, 14,  2,
             27, 24, 29, 12, 31, 33, 48, 50, 39, 36, 40, 10, 38,
             45, 25,  1, 47, 18,  3, 16, 26, 28, 13,  4,  0,  8,
             43, 51, 35,  7, 30, 11,  9, 42,  5, 41, 44, 46,  6,
             ]
     self.deck = Deck()
 def setUp(self):
     self.deck = Deck()
     self.deck.indivKey = ['k%02d' % n for n in range(52)]
Exemplo n.º 4
0
class TestDeck(unittest.TestCase):
    def setUp(self):
        self.defaultCards = ['%02d' % x for x in list(range(52))]
        self.sampleCards = [
                21, 34, 22, 20, 23, 49, 15, 19, 17, 37, 32, 14,  2,
                27, 24, 29, 12, 31, 33, 48, 50, 39, 36, 40, 10, 38,
                45, 25,  1, 47, 18,  3, 16, 26, 28, 13,  4,  0,  8,
                43, 51, 35,  7, 30, 11,  9, 42,  5, 41, 44, 46,  6,
                ]
        self.deck = Deck()

    def testDefaultInstantiation(self):
        self.assertEqual(self.deck.cards, self.defaultCards)
        self.assertEqual(self.deck[0], '00')
        self.assertEqual(self.deck[51], '51')

    def testInstantiation(self):
        self.deck = Deck(None, self.sampleCards)
        self.assertEqual(self.deck.cards, self.sampleCards)
        self.assertEqual(self.deck[0], '21')
        self.assertEqual(self.deck[51], '06')

    def testGenerateSameKey(self):
        self.deck.generateSameKey()
        self.assertTrue(isinstance(self.deck.sameKey, str))

    def testGenerateSameKey(self):
        self.deck.generateSameKey()
        cryptedCards = self.deck.getSameKeyEncrypted()
        self.assertNotEqual(cryptedCards[0], '00')

    def testShuffle(self):
        self.deck.shuffle()
        # This test will be correct most of the time
        self.assertNotEqual(self.deck.cards, self.defaultCards)

    def testLoad(self):
        self.deck.load(self.sampleCards)
        self.assertEqual(self.deck.cards, self.sampleCards)
        self.assertEqual(self.deck[0], '21')

    def testSameKeyDecryptAndLoad(self):
        self.deck.generateSameKey()
        cards = ['xxy', 'xyz', 'xxx']
        self.deck.sameKeyDecryptAndLoad(cards)
        self.assertNotEqual(self.deck.cards, cards)
        self.assertNotEqual(self.deck[0], 'xxy')

    def testGenerateIndividualKeys(self):
        self.deck.generateIndividualKeys()
        crypted = self.deck.getIndividualKeyEncrypted()
        self.assertNotEqual(crypted[0], '00')
Exemplo n.º 5
0
 def testInstantiation(self):
     self.deck = Deck(None, self.sampleCards)
     self.assertEqual(self.deck.cards, self.sampleCards)
     self.assertEqual(self.deck[0], '21')
     self.assertEqual(self.deck[51], '06')