def test_enum_list(enum_item, y, expected): qxs = quote(lib.enum_list(enum_item)) assert simplify(lib.enum_contains(qxs, quote(y))) == expected
def test_enum_num(y, expected): qxs = quote(lib.enum_num) assert simplify(lib.enum_contains(qxs, quote(y))) == expected
def test_enum_prod(enum_fst, enum_snd, y, expected): qxs = quote(lib.enum_prod(enum_fst, enum_snd)) assert simplify(lib.enum_contains(qxs, quote(y))) == expected
def test_enum_sum(enum_inl, enum_inr, y, expected): qxs = quote(lib.enum_sum(enum_inl, enum_inr)) assert simplify(lib.enum_contains(qxs, quote(y))) == expected
def test_enum_contains(xs, y, expected): qxs = quote(enum(xs)) qy = quote(y) assert reduce(lib.enum_contains(qxs, qy)) == expected