test tree foreach
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user