aboutsummaryrefslogtreecommitdiffstats
path: root/trie/trie_test.go
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-02-11 18:40:12 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-02-11 18:40:12 +0800
commitcfddb7f3cd3b8cecb1e59412ce4db5769f6c8007 (patch)
treeab28c518bd1b78f6b8ac8b241951ad161cb268a9 /trie/trie_test.go
parent21fd31dad8bc6e0291ca405314b516670333c707 (diff)
parentc6af5f0a275608ea6c797ef826e6090885f24eac (diff)
downloaddexon-cfddb7f3cd3b8cecb1e59412ce4db5769f6c8007.tar
dexon-cfddb7f3cd3b8cecb1e59412ce4db5769f6c8007.tar.gz
dexon-cfddb7f3cd3b8cecb1e59412ce4db5769f6c8007.tar.bz2
dexon-cfddb7f3cd3b8cecb1e59412ce4db5769f6c8007.tar.lz
dexon-cfddb7f3cd3b8cecb1e59412ce4db5769f6c8007.tar.xz
dexon-cfddb7f3cd3b8cecb1e59412ce4db5769f6c8007.tar.zst
dexon-cfddb7f3cd3b8cecb1e59412ce4db5769f6c8007.zip
Merge branch 'develop' into jsonrpc
Conflicts: rpc/ws/server.go
Diffstat (limited to 'trie/trie_test.go')
-rw-r--r--trie/trie_test.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/trie/trie_test.go b/trie/trie_test.go
index ffb78d4f2..4b185f355 100644
--- a/trie/trie_test.go
+++ b/trie/trie_test.go
@@ -257,3 +257,42 @@ func BenchmarkUpdate(b *testing.B) {
}
trie.Hash()
}
+
+type kv struct {
+ k, v []byte
+ t bool
+}
+
+func TestLargeData(t *testing.T) {
+ trie := NewEmpty()
+ vals := make(map[string]*kv)
+
+ for i := byte(1); i < 255; i++ {
+ value := &kv{ethutil.LeftPadBytes([]byte{i}, 32), []byte{i}, false}
+ value2 := &kv{ethutil.LeftPadBytes([]byte{10, i}, 32), []byte{i}, false}
+ trie.Update(value.k, value.v)
+ trie.Update(value2.k, value2.v)
+ vals[string(value.k)] = value
+ vals[string(value2.k)] = value2
+ fmt.Println(value, "\n", value2)
+ }
+
+ it := trie.Iterator()
+ for it.Next() {
+ vals[string(it.Key)].t = true
+ }
+
+ var untouched []*kv
+ for _, value := range vals {
+ if !value.t {
+ untouched = append(untouched, value)
+ }
+ }
+
+ if len(untouched) > 0 {
+ t.Errorf("Missed %d nodes", len(untouched))
+ for _, value := range untouched {
+ t.Error(value)
+ }
+ }
+}