52 lines
980 B
Go
52 lines
980 B
Go
package statuslist
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"testing"
|
|
)
|
|
|
|
func TestAppendSetGet(t *testing.T) {
|
|
list := New()
|
|
if idx := list.Dodaj(false); idx != 0 {
|
|
t.Fatalf("expected index 0, got %d", idx)
|
|
}
|
|
if idx := list.Dodaj(true); idx != 1 {
|
|
t.Fatalf("expected index 1, got %d", idx)
|
|
}
|
|
|
|
if err := list.Nastavi(0, true); err != nil {
|
|
t.Fatalf("set error: %v", err)
|
|
}
|
|
|
|
v0, err := list.Dobi(0)
|
|
if err != nil {
|
|
t.Fatalf("get error: %v", err)
|
|
}
|
|
if !v0 {
|
|
t.Fatalf("expected true on index 0")
|
|
}
|
|
|
|
v1, err := list.Dobi(1)
|
|
if err != nil {
|
|
t.Fatalf("get error: %v", err)
|
|
}
|
|
if !v1 {
|
|
t.Fatalf("expected true on index 1")
|
|
}
|
|
}
|
|
|
|
func TestEncodedListProducesBase64(t *testing.T) {
|
|
list := New()
|
|
list.Dodaj(true)
|
|
list.Dodaj(false)
|
|
list.Dodaj(true)
|
|
|
|
encoded, err := list.KodiranSeznam()
|
|
if err != nil {
|
|
t.Fatalf("encoded list error: %v", err)
|
|
}
|
|
if _, err := base64.StdEncoding.DecodeString(encoded); err != nil {
|
|
t.Fatalf("expected valid base64: %v", err)
|
|
}
|
|
}
|