First commit

This commit is contained in:
2026-07-06 06:00:10 +06:00
commit 68696fa4d2
32 changed files with 1085 additions and 0 deletions

View File

@ -0,0 +1,49 @@
package main
import "testing"
func TestCompletePersists(t *testing.T) {
store := NewStore()
task := store.Add("write report")
if err := store.Complete(task.ID); err != nil {
t.Fatalf("Complete(%d) returned error: %v", task.ID, err)
}
got, ok := store.Get(task.ID)
if !ok {
t.Fatalf("task %d disappeared from the store", task.ID)
}
if !got.Done {
t.Fatalf("task %d should be done after Complete, but Done is false", task.ID)
}
}
func TestCompleteUnknownIDReturnsError(t *testing.T) {
store := NewStore()
store.Add("write report")
if err := store.Complete(99); err == nil {
t.Fatal("Complete(99) should return an error for a missing id")
}
}
func TestTitleWidthCountsCharacters(t *testing.T) {
task := Task{Title: "café menu"}
if w := task.TitleWidth(); w != 9 {
t.Fatalf("TitleWidth(%q) = %d, want 9 (characters, not bytes)", task.Title, w)
}
}
func TestParseIDRejectsGarbage(t *testing.T) {
if _, err := ParseID("abc"); err == nil {
t.Fatal(`ParseID("abc") should return an error, got nil`)
}
}
func TestParseIDAcceptsNumbers(t *testing.T) {
id, err := ParseID("42")
if err != nil {
t.Fatalf(`ParseID("42") returned error: %v`, err)
}
if id != 42 {
t.Fatalf(`ParseID("42") = %d, want 42`, id)
}
}