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
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"
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()
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)
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}
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
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")
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
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)
def it_accepts_new_covenfolk_objects(): cn = Covenfolken() folk = demo_folk() cn.add_covenfolk(folk) assert folk in cn.covenfolk.values()