def test_edition_line(self): pr = FileParser() line = '4 [AER] Fatal push' cm = pr._create_card_match(line) self.assertIsInstance(cm, CardMatch) self.assertEqual(cm.name, 'Fatal push') self.assertEqual(cm.edition, 'AER') self.assertEqual(cm.quantity, 4)
def test_simple_line(self): pr = FileParser() line = '1 Opt' cm = pr._create_card_match(line) self.assertIsInstance(cm, CardMatch) self.assertEqual(cm.name, 'Opt') self.assertEqual(cm.edition, '') self.assertEqual(cm.quantity, 1)
class TestCreateCardMatch(unittest.TestCase): def setUp(self): self.pr = FileParser() def test_simple_line(self): line = '1 Opt' cm = self.pr._create_card_match(line) self.assertIsInstance(cm, CardMatch) self.assertEqual(cm.name, 'Opt') self.assertEqual(cm.edition, '') self.assertEqual(cm.quantity, 1) def test_edition_line(self): line = '4 [AER] Fatal push' cm = self.pr._create_card_match(line) self.assertIsInstance(cm, CardMatch) self.assertEqual(cm.name, 'Fatal push') self.assertEqual(cm.edition, 'AER') self.assertEqual(cm.quantity, 4) def test_wrong_line_format(self): line = '2Fatal push' cm = self.pr._create_card_match(line) self.assertIsNone(cm) def test_wrong_quantity_zero(self): line = '0 Fatal push' cm = self.pr._create_card_match(line) self.assertIsNone(cm) def test_wrong_quantity_negative(self): line = '-1 Fatal push' cm = self.pr._create_card_match(line) self.assertIsNone(cm) def test_complete_file(self): file = os.path.join(TEST_DIR, 'fixture', 'Proxy.txt') card_collection = self.pr.read(file) self.assertEqual(card_collection[0].quantity, 1) self.assertEqual(card_collection[0].edition, '') self.assertEqual(card_collection[0].name, 'Opt') self.assertEqual(card_collection[1].quantity, 4) self.assertEqual(card_collection[1].edition, 'AER') self.assertEqual(card_collection[1].name, 'Fatal push') self.assertEqual(card_collection[2].quantity, 1) self.assertEqual(card_collection[2].edition, '') self.assertEqual(card_collection[2].name, 'oeaif') self.assertEqual(len(card_collection), 3)
def test_wrong_quantity_negative(self): pr = FileParser() line = '-1 Fatal push' cm = pr._create_card_match(line) self.assertIsNone(cm)
def test_wrong_line_format(self): pr = FileParser() line = '2Fatal push' cm = pr._create_card_match(line) self.assertIsNone(cm)
import time from mtgproxy.harvesters import DirectoryHarvester, ScryfallHarvester from mtgproxy.parsers import FileParser from mtgproxy.pdf import print_pdf ROOT_DIR = os.path.join(os.getcwd(), '..') SCANS_DIR = os.path.join(ROOT_DIR, 'tests/fixture/scans') if __name__ == '__main__': files = glob.glob(os.path.join(ROOT_DIR, 'temp', '*')) for f in files: os.remove(f) # On lit la liste et on extrait les cartes demandées et leur quantité card_collection = FileParser().read(os.path.join(ROOT_DIR, 'tests/fixture/Proxy.txt')) # print(card_collection) # On crée la classe de recherche des scans h = ScryfallHarvester() # h = DirectoryHarvester(SCANS_DIR) filenames = [] # Pour chaque carte recherchée for cardmatch in card_collection: # On récupère le chemin des fichiers de la face et du dos # front, back = es.get_scan(cardmatch) start = time.time() front = h.get_scan(cardmatch) end = time.time() print('Carte {} récupérée en {:.3f} secondes'.format(cardmatch.name, end - start)) # Pour le nombre d'occurences demandé... for i in range(0, cardmatch.quantity):
def setUp(self): self.pr = FileParser()