def test_reduce_keyval(): ctx = Qit() kv = KeyValue(Int(), Int()) values = ((12, 3), (17, 1), (5, 0), (12, 4), (2, 0)) a = kv.values(*values).iterate().reduce(kv.max_fn) b = kv.values(*values).iterate().reduce(kv.min_fn) result = ctx.run((Struct(kv, kv)).value((a, b))) assert ((12, 4), (5, 0)) == result