def test_reshuffles_deck(self): deck = model.Deck(1) for i in range(0, 52 - 8): deck.draw() self.assertEqual(deck.size(), 8) deck.draw() self.assertEqual(deck.size(), 52)
def test_swap(self): deck = model.Deck(1) temp1 = deck.deck[0] temp2 = deck.deck[51] deck.swap(0, 51) self.assertEqual(deck.deck[0], temp2) self.assertEqual(deck.deck[51], temp1)
def post(self): if security.can_modify(request.cookies.get("user")): try: new_deck = model.Deck(**request.get_json().get("deck")) new_deck.commit() return jsonify(new_deck.dump()) except marshmallow.exceptions.ValidationError as e: abort(400) else: abort(403)
import random, sys, json sys.path.insert(0, '..') from pyfb.pyfb import PyFb import imagedrawer, model fb_client = PyFb(json.load(open('../tokens.json', 'r'))['exodia']) deck = model.Deck(id=0) hand = deck.draw_five() image_path = 'out.png' imagedrawer.draw_hand('bg.jpg', hand, out_path=image_path) message = '' if sorted(hand) == model.EXODIA_HAND: message = "THE UNSTOPPABLE EXODIA! I'VE ASSEMBLED ALL FIVE SPECIAL CARDS! ALL FIVE PIECES OF THE PUZZLE! EXODIA! OBLITERATE!!!\n" message = message + '\n' + '\n'.join(hand) print(message) pid = fb_client.create_post(message=message, image_path=image_path)['post_id'] session = model.Session() session.add(model.Post.from_fb_post_id_and_hand(pid, hand)) session.commit()
def test_shuffle(self): deck = model.Deck(3) temp = deck.deck[deck.size() - 1] deck.shuffle() self.assertNotEqual(deck.draw().suit, temp.getSuit())
def test_constructor_deck_size(self): deck = model.Deck(3) self.assertEqual(deck.size(), 156)
def test_constructor_card_generation(self): deck = model.Deck(1) self.assertNotEqual(deck.draw(), model.Card(model.Suit.CLUBS, model.Value.ACE))