def test_by_line(): list_eq(by_line([]), []) list_eq(by_line([NEEDLE1, NEEDLE2]), [(key_object_pair(KV1, 3, 7), 1), (key_object_pair(KV2, 5, None), 1), (key_object_pair(KV2, 0, None), 2), (key_object_pair(KV2, 0, 7), 3)])
def test_unsparsify(): # Test 2 overlapping dense needles: output = [[key_object_pair(KV1, 3, 7), key_object_pair(KV2, 5, None)], # the overlap. [key_object_pair(KV2, 0, None)], # just the second one, [key_object_pair(KV2, 0, 7)]] # extending beyond the first list_eq(unsparsify(lambda: [NEEDLE1, NEEDLE2])(), output)