def test_all_valuations(self):
        self.assertEquals(list(Eval.all_valuations(["a", "b"])), [
            {"a": False, "b": False},
            {"a": False, "b": True},
            {"a": True, "b": False},
            {"a": True, "b": True},
            ])

        self.assertEquals(len(list(Eval.all_valuations(["a", "b"]))), 2 ** 2)
        self.assertEquals(len(list(Eval.all_valuations(["a", "b", "c"]))), 2 ** 3)
        self.assertEquals(len(list(Eval.all_valuations(["a", "b", "c", "d"]))), 2 ** 4)