test tree foreach

This commit is contained in:
Bel LaPointe
2022-02-16 08:05:14 -07:00
parent 63caf9ed03
commit a7c8a0d481
5 changed files with 39 additions and 16 deletions

View File

@@ -3,21 +3,44 @@ package main
import (
"encoding/json"
"fmt"
"path"
"strconv"
"testing"
)
func TestTreeDel(t *testing.T) {
func TestTreeForEach(t *testing.T) {
tree := NewTree(t.TempDir())
if err := tree.Put(ID("id"), Leaf{}); err != nil {
id := ""
for i := 0; i < 5; i++ {
id = path.Join(id, strconv.Itoa(i))
if err := tree.Put(NewID(id), Leaf{Title: id, Content: id}); err != nil {
t.Fatal(err)
}
}
branch, err := tree.GetRoot()
if err != nil {
t.Fatal(err)
}
if err := tree.Put(ID("id/subid"), Leaf{}); err != nil {
if err := branch.ForEach(func(id ID, leaf Leaf) error {
t.Logf("id=%+v, leaf=%+v", id, leaf)
return nil
}); err != nil {
t.Fatal(err)
}
}
func TestTreeDel(t *testing.T) {
tree := NewTree(t.TempDir())
if err := tree.Put(NewID("id"), Leaf{}); err != nil {
t.Fatal(err)
}
if err := tree.Put(NewID("id/subid"), Leaf{}); err != nil {
t.Fatal(err)
}
if err := tree.Del(ID("id")); err != nil {
if err := tree.Del(NewID("id")); err != nil {
t.Fatal(err)
} else if got, err := tree.Get(ID("id")); err != nil {
} else if got, err := tree.Get(NewID("id")); err != nil {
t.Fatal(err)
} else if !got.Deleted {
t.Fatal(got)
@@ -45,7 +68,7 @@ func TestTreeCrud(t *testing.T) {
t.Fatal(m)
}
if err := tree.Del(ID("id")); err != nil {
if err := tree.Del(NewID("id")); err != nil {
t.Fatal(err)
}
@@ -54,9 +77,9 @@ func TestTreeCrud(t *testing.T) {
Deleted: false,
Content: "leaf content",
}
if err := tree.Put(ID("id"), want); err != nil {
if err := tree.Put(NewID("id"), want); err != nil {
t.Fatal(err)
} else if l, err := tree.Get(ID("id")); err != nil {
} else if l, err := tree.Get(NewID("id")); err != nil {
t.Fatal(err)
} else if l != want {
t.Fatal(want, l)