Ejemplo n.º 1
0
def generator() -> MtgPackGenerator:
    config = get_config()
    return MtgPackGenerator(
        path_to_mtgjson=config.mtgjson_path,
        path_to_jmp=config.jmp_decklists_path,
        jmp_arena=True,
    )
Ejemplo n.º 2
0
 def __init__(self, config: utils.Config) -> None:
     self.config = config
     self.generator = MtgPackGenerator(
         path_to_mtgjson=self.config.mtgjson_path,
         path_to_jmp=self.config.jmp_decklists_path,
         jmp_arena=True,
     )
     self.standard_sets = ["znr", "khm", "stx", "afr", "mid", "vow", "neo"]
     self.historic_sets = [
         "klr",
         "akr",
         "xln",
         "rix",
         "dom",
         "m19",
         "grn",
         "rna",
         "war",
         "m20",
         "eld",
         "thb",
         "iko",
         "m21",
         "znr",
         "khm",
         "stx",
         "afr",
         "mid",
         "vow",
         "neo",
     ]
     self.all_sets: list[str] = [
         s.lower() for s in self.generator.sets_with_boosters
     ]
Ejemplo n.º 3
0
def test_pack(generator: MtgPackGenerator):
    p = generator.get_pack("m21")
    assert len(p.cards) == 15
    assert p.is_balanced(rebalance=False)
Ejemplo n.º 4
0
def test_jumpstart(generator: MtgPackGenerator):
    p = generator.get_random_jmp_decks()[0]
    assert len(p.cards) == 20
Ejemplo n.º 5
0
def test_jumpstart_list(generator: MtgPackGenerator):
    p_list = generator.get_random_jmp_decks(n=2)
    assert len(p_list) == 2
    assert all([pack.set.code == "JMP" for pack in p_list])
Ejemplo n.º 6
0
def test_random_packs_from_set_list_raises(generator: MtgPackGenerator,
                                           four_set_list: list[str]):
    with pytest.raises(AssertionError):
        generator.get_random_packs(sets=four_set_list, n=5)
Ejemplo n.º 7
0
def test_random_packs_from_set_list_with_replacement(
        generator: MtgPackGenerator, four_set_list: list[str]):
    p_list = generator.get_random_packs(sets=four_set_list, n=5, replace=True)
    assert len(p_list) == 5
    count_sets = Counter([pack.set.code for pack in p_list])
    assert any([c > 1 for c in count_sets.values()])
Ejemplo n.º 8
0
def test_random_packs_from_set_list(generator: MtgPackGenerator,
                                    four_set_list: list[str]):
    p_list = generator.get_random_packs(sets=four_set_list, n=4)
    assert len(p_list) == 4
    assert set(four_set_list) == set([pack.set.code for pack in p_list])
Ejemplo n.º 9
0
def test_random_pack(generator: MtgPackGenerator):
    p = generator.get_random_packs()[0]
    assert p.set.code in generator.sets_with_boosters
Ejemplo n.º 10
0
def test_all_packs(generator: MtgPackGenerator):
    p_list = [generator.get_pack(set) for set in generator.sets_with_boosters]
    assert all([
        not p.can_be_balanced() or p.is_balanced(rebalance=False)
        for p in p_list
    ])
Ejemplo n.º 11
0
def test_pack_list(generator: MtgPackGenerator):
    p_list = generator.get_packs("znr", n=6)
    assert len(p_list) == 6
    assert all([pack.set.code == "ZNR" for pack in p_list])
Ejemplo n.º 12
0
def test_pack_raises(generator: MtgPackGenerator):
    with pytest.raises(AssertionError):
        generator.get_pack("non existing set")