planner/plan/memory_test.go

57 lines
1.0 KiB
Go
Raw Normal View History

2024-09-23 07:48:18 +02:00
package main
import (
"testing"
"github.com/google/go-cmp/cmp"
"go-mod.ewintr.nl/planner/item"
)
func TestMemory(t *testing.T) {
t.Parallel()
mem := NewMemory()
t.Log("empty")
actEvents, actErr := mem.FindAll()
if actErr != nil {
t.Errorf("exp nil, got %v", actErr)
}
if len(actEvents) != 0 {
t.Errorf("exp 0, got %d", len(actEvents))
}
t.Log("store")
e1 := item.Event{
ID: "id-1",
}
if err := mem.Store(e1); err != nil {
t.Errorf("exp nil, got %v", err)
}
e2 := item.Event{
ID: "id-2",
}
if err := mem.Store(e2); err != nil {
t.Errorf("exp nil, got %v", err)
}
t.Log("find one")
actEvent, actErr := mem.Find(e1.ID)
if actErr != nil {
t.Errorf("exp nil, got %v", actErr)
}
if actEvent.ID != e1.ID {
t.Errorf("exp %v, got %v", e1.ID, actEvent.ID)
}
t.Log("find all")
actEvents, actErr = mem.FindAll()
if actErr != nil {
t.Errorf("exp nil, got %v", actErr)
}
if diff := cmp.Diff([]item.Event{e1, e2}, actEvents); diff != "" {
t.Errorf("(exp -, got +)\n%s", diff)
}
}