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
def test_keyval(): ctx = Qit() kv = KeyValue(Int() * Int(), Int()) assert ctx.run(kv.key_fn(kv.value(((22, 33), 11)))) == (22, 33) assert ctx.run(kv.value_fn(kv.value(((22, 33), 11)))) == 11