def test_test_constraint(): animals = ["dog", "cat"] w1 = World(animals) c1 = ("dog", "left of", "cat") c2 = ("cat", "right of", "dog") c3 = ("dog", "in front of", "cat") c4 = ("cat", "in back of", "dog") w1.set_position("dog", 1, 1) w1.set_position("cat", 2, 2) assert w1.test_constraint(c1) assert w1.test_constraint(c2) assert w1.test_constraint(c3) assert w1.test_constraint(c4)
def test_set_position(): w1 = World() w1.set_position("dog", 1, 1) assert w1.animals["dog"].x == 1 assert w1.animals["dog"].y == 1 try: w1.set_position("dog", 0, 0) except Exception as e: assert type(e) is ValueError w2 = World(["dog"]) w2.set_position("dog", 1, 1) assert w2.animals["dog"].x == 1 assert w2.animals["dog"].y == 1 w2.set_position("cat", 0, 0) assert w2.animals["cat"].x == 0 assert w2.animals["cat"].y == 0
def test_copy(): w1 = World(["dog"]) w1.set_position("dog", 1, 1) w2 = w1.copy() assert w1 is not w2 # not the same object assert str(w1) == str(w2) # but identical contents