def test_update(): n = 50 a = np.random.choice(1000, n, replace=True).tolist() heap = MinHeap(a, modifiable=True) u_id = np.random.choice(n, 10, replace=False).tolist() u_val = np.random.choice(1000, 10, replace=True).tolist() if n-1 not in u_id: u_id.append(n-1) u_val.append(np.random.randint(1000)) nodes = [heap.L[i] for i in u_id] for node, newkey in zip(nodes, u_val): heap.update(node, newkey) b = sorted(heap.L) c = [] while heap: c.append(heap.pop()) assert b == c