Exemplo n.º 1
0
 def it_displays_covenfolk(capsys):
     cn = Covenfolken()
     cn.add_covenfolk("weber", "magi")
     cn.add_covenfolk("a", "magi", "writer", "consumables", 5)
     cn.display_covenfolk()
     captured = capsys.readouterr()
     assert captured.out == """weber: magi
Exemplo n.º 2
0
 def it_lists_covenfolk_names(capsys):
     cn = Covenfolken()
     cn.add_covenfolk("weber", "magi")
     cn.add_covenfolk("yawgma", "magi")
     cn.list()
     captured = capsys.readouterr()
     assert captured.out == "['weber', 'yawgma']\n"
Exemplo n.º 3
0
 def it_removes_covenfolk():
     cn = Covenfolken()
     folk = demo_folk()
     cn.add_covenfolk(folk)
     assert folk in cn.covenfolk.values()
     cn.remove_covenfolk(folk.name)
     assert folk not in cn.covenfolk.values()
Exemplo n.º 4
0
 def it_returns_the_total_number_of_covenfolk_matching_classification():
     cn = Covenfolken()
     cn.add_covenfolk("weber", "magi", "writer", "consumables", 10)
     cn.add_covenfolk("yawgma", "magi", "hammerer", "buildings", 5)
     cn.add_covenfolk("dog", "horse", "stables", "buildings", 2)
     assert cn.total_count_of("magi") == 2
     assert cn.total_count_of("horse") == 1
     assert isinstance(cn.total_count_of("magi"), int)
Exemplo n.º 5
0
 def it_calculates_the_savings_of_one_category():
     cn = Covenfolken()
     folk = demo_folk()
     cn.add_covenfolk(folk)
     assert cn.calculate_savings_of("buildings") == {"woodworker": 1}
     cn.add_covenfolk("James", "crafter", "woodworker", "buildings", 3,
                      "common")
     assert cn.calculate_savings_of("buildings") == {"woodworker": 3}
     cn.add_covenfolk("Arc", "crafter", "welder", "weapons and armor", 5,
                      "rare")
     assert cn.calculate_savings_of("weapons and armor") == {"welder": 6}
Exemplo n.º 6
0
 def it_calculates_the_savings_of_all_its_covenfolk():
     cn = Covenfolken()
     folk = demo_folk()
     cn.add_covenfolk(folk)
     cn.add_covenfolk("James", "crafter", "woodworker", "buildings", 3,
                      "common")
     cn.add_covenfolk("Arc", "crafter", "welder", "weapons and armor", 5,
                      "rare")
     savings = cn.calculate_all_savings()
     assert savings["buildings"]["woodworker"] == 3
     assert savings["weapons and armor"]["welder"] == 6
Exemplo n.º 7
0
def modify_covenfolken():
    if request.method == "GET":
        return render_template("modify_covenfolken.html", saving_categories=SAVING_CATEGORIES)

    if request.method == "POST":
        print("C1")
        covenant = session["current_covenant"]

        covenfolken = Covenfolken()

        #form = request.form
        #json = request.json
        #values = request.values
        #data = request.data
        #args = request.args
        print("C2")
        getlist = request.form.getlist("crafter_name")
        covenfolk_input = request.form.getlist("covenfolk_input")
        non_crafters = ["magi", "companion", "grog", "noble", "dependant", "laborer", "servant", "teamster", "animal"]
        print("C3")
        for nc in non_crafters:
            current = f"{nc}_name"
            these_covenfolk = request.form.getlist(current)
            for covenfolk in these_covenfolk:
                if nc == "animal":
                    covenfolken.add_covenfolk(covenfolk, "horse")
                else:
                    covenfolken.add_covenfolk(covenfolk, nc)

        print("C4")
        count = 0
        crafter_names = request.form.getlist("crafter_name")
        crafter_professions = request.form.getlist("crafter_profession")
        crafter_saving_categories = request.form.getlist("crafter_saving_category")
        crafter_skills = request.form.getlist("crafter_skill")
        crafter_rarities = request.form.getlist("crafter_rarity")

        while count < len(crafter_names):
            covenfolken.add_covenfolk(
                    crafter_names[count],
                    "crafter",
                    crafter_professions[count],
                    crafter_saving_categories[count],
                    int(crafter_skills[count]),
                    crafter_rarities[count]
            )
            count+=1


        print("C5")
        count = 0
        specialist_names = request.form.getlist("specialist_name")
        specialist_professions = request.form.getlist("specialist_profession")
        specialist_saving_categories = request.form.getlist("specialist_saving_category")
        specialist_skills = request.form.getlist("specialist_skill")
        specialist_rarities = request.form.getlist("specialist_rarity")

        while count < len(specialist_names):
            covenfolken.add_covenfolk(
                    specialist_names[count],
                    "specialist",
                    specialist_professions[count],
                    specialist_saving_categories[count],
                    int(specialist_skills[count]),
                    specialist_rarities[count]
            )
            count+=1

        print("C6")
        covenant.covenfolken = covenfolken
        session["current_covenant"] = covenant
        print("C7")

        return render_template("create_covenant_landing.html")
Exemplo n.º 8
0
 def it_returns_the_total_number_of_covenfolk_matching_profession():
     cn = Covenfolken()
     cn.add_covenfolk("weber", "magi", "writer", "consumables", 10)
     cn.add_covenfolk("yawgma", "magi", "hammerer", "buildings", 5)
     cn.add_covenfolk("dog", "horse", "stables", "buildings", 2)
     assert cn.total_count_of("writer") == 1
Exemplo n.º 9
0
 def it_creates_new_covenfolk_when_passed_parameters():
     cn = Covenfolken()
     cn.add_covenfolk("jane", "magi")
     assert "jane" in cn.covenfolk.keys()
     assert isinstance(cn.covenfolk["jane"], Covenfolk)
Exemplo n.º 10
0
 def it_accepts_new_covenfolk_objects():
     cn = Covenfolken()
     folk = demo_folk()
     cn.add_covenfolk(folk)
     assert folk in cn.covenfolk.values()