MyTinyTodo2/mytinytodo/remote/task_test.go

49 lines
850 B
Go

package remote
import (
"fmt"
"testing"
)
func TestTaskEncodeDecode(t *testing.T) {
L := &Task{
ID: "id",
Title: "title",
Complete: 0,
}
b, err := L.Encode()
if err != nil {
t.Fatalf("cannot encode task: %v", err)
}
M := &Task{}
if err := M.Decode(b); err != nil {
t.Fatalf("cannot decode task: %v", err)
} else if *L != *M {
t.Fatalf("wrong decode task: %v", err)
}
}
func TestTasksEncodeDecode(t *testing.T) {
L := Tasks([]Task{Task{
ID: "id",
Title: "title",
Complete: 0,
}})
LS := &L
b, err := LS.Encode()
if err != nil {
t.Fatalf("cannot encode task: %v", err)
}
M := Tasks([]Task{})
MS := &M
if err := MS.Decode(b); err != nil {
t.Fatalf("cannot decode task: %v", err)
} else if fmt.Sprintf("%v", *LS) != fmt.Sprintf("%v", *MS) {
t.Fatalf("wrong decode task: %v", err)
}
}