Use symmetric difference iterator #11

Merged
roysc merged 27 commits from symmetric-diff-iterator into main 2023-09-20 03:22:19 +00:00
Showing only changes of commit 4d7c2da4e7 - Show all commits

View File

@ -53,12 +53,24 @@ func TestSymmetricDifferenceIterator(t *testing.T) {
assert.Equal(t, 2, *count) assert.Equal(t, 2, *count)
trieb := trie.NewEmpty(db) trieb := trie.NewEmpty(db)
di, count = utils.NewSymmetricDifferenceIterator(triea.NodeIterator([]byte("food")), trieb.NodeIterator(nil)) di, count = utils.NewSymmetricDifferenceIterator(
triea.NodeIterator([]byte("jars")),
trieb.NodeIterator(nil))
for di.Next(true) { for di.Next(true) {
t.Errorf("iterator should not yield any elements") t.Errorf("iterator should not yield any elements")
t.Logf("%s", di.LeafKey()) t.Logf("%s", di.LeafKey())
} }
assert.Equal(t, 0, *count) assert.Equal(t, 0, *count)
// TODO will fail until merged: https://github.com/ethereum/go-ethereum/pull/27838
// di, count = utils.NewSymmetricDifferenceIterator(
// triea.NodeIterator([]byte("food")),
// trieb.NodeIterator(nil))
// for di.Next(true) {
// t.Errorf("iterator should not yield any elements")
// t.Logf("%s", di.LeafKey())
// }
// assert.Equal(t, 0, *count)
}) })
t.Run("small difference", func(t *testing.T) { t.Run("small difference", func(t *testing.T) {