예제 #1
0
    def test_traversal_delete(self):
        RB = self.RB
        D = RB.E
        H = RB.H
        values = range(32)
        random.shuffle(values)
        for v in values:
            D = RecordTraversal(H).insert(v, D)

        d0 = D[0]
        random.shuffle(values)
        for v in values:
            T = RecordTraversal(H)
            D = T.delete(v, D)
            #invariants(D)
            R = ReplayTraversal(T.VO, H)
            assert R.delete(v, d0) == D[0]
            d0 = D[0]
예제 #2
0
    def test_traversal_delete(self):
        RB = self.RB
        D = RB.E
        H = RB.H
        values = range(32)
        random.shuffle(values)
        for v in values:
            D = RecordTraversal(H).insert(v, D)

        d0 = D[0]
        random.shuffle(values)
        for v in values:
            T = RecordTraversal(H)
            D = T.delete(v, D)
            #invariants(D)
            R = ReplayTraversal(T.VO, H)
            assert R.delete(v, d0) == D[0]
            d0 = D[0]
예제 #3
0
def demo_recordreplay():
    RB = MerkleRedBlack()
    D = RB.E
    print D
    for i in range(10):
        D = RB.insert(i, D)
    print D

    roothash = D[0]

    record = RecordTraversal()
    for i in range(10):
        D = record.delete(i, D)
    print D
    print record.VO

    replay = ReplayTraversal(record.VO)
    D = roothash
    for i in range(9):
        D = replay.delete(i, D)
    print D
예제 #4
0
def demo_recordreplay():
    RB = MerkleRedBlack()
    D = RB.E
    print D
    for i in range(10):
        D = RB.insert(i, D)
    print D

    roothash = D[0]

    record = RecordTraversal()
    for i in range(10):
        D = record.delete(i, D)
    print D
    print record.VO

    replay = ReplayTraversal(record.VO)
    D = roothash
    for i in range(9):
        D = replay.delete(i, D)
    print D