Added a trie iterator

This commit is contained in:
obscuren
2014-02-24 12:11:00 +01:00
parent 377c995103
commit 1a98bbf1c8
2 changed files with 109 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package ethutil
import (
"fmt"
"reflect"
"testing"
)
@ -21,6 +22,10 @@ func (db *MemDatabase) Put(key []byte, value []byte) {
func (db *MemDatabase) Get(key []byte) ([]byte, error) {
return db.db[string(key)], nil
}
func (db *MemDatabase) Delete(key []byte) error {
delete(db.db, string(key))
return nil
}
func (db *MemDatabase) Print() {}
func (db *MemDatabase) Close() {}
func (db *MemDatabase) LastKnownTD() []byte { return nil }
@ -148,3 +153,22 @@ func TestTrieDeleteWithValue(t *testing.T) {
}
}
func TestTrieIterator(t *testing.T) {
_, trie := New()
trie.Update("c", LONG_WORD)
trie.Update("ca", LONG_WORD)
trie.Update("cat", LONG_WORD)
it := trie.NewIterator()
fmt.Println("purging")
fmt.Println("len =", it.Purge())
/*
for it.Next() {
k := it.Key()
v := it.Value()
fmt.Println(k, v)
}
*/
}