def test_parse(): gain = "Alice would gain 54 happiness units by sitting next to Bob." lose = "Alice would lose 79 happiness units by sitting next to Carol." arranger = Arranger() arranger.parse(gain + "\n" + lose) assert arranger.potentials == {("Alice", "Bob"): 54, ("Alice", "Carol"): -79}
def test_get_best_score_not_circular(): arranger = Arranger() arranger.parse(inputs) assert arranger.get_best_score(circular=False) == 286
def test_get_best_score(): arranger = Arranger() arranger.parse(inputs) assert arranger.get_best_score() == 330
def test_get_attendees(): arranger = Arranger() arranger.parse(inputs) assert arranger.get_attendees() == {"Alice", "Bob", "Carol", "David"}
def test_arrangement_happiness(): arranger = Arranger() arranger.parse(inputs) arranger.arrangement_happiness(["Alice", "Bob", "Carol", "David"]) == 330
def test_pair_happiness(): arranger = Arranger() arranger.potentials = {("Alice", "Bob"): 54, ("Bob", "Alice"): 83} assert arranger.pair_happiness("Alice", "Bob") == 54 + 83