Badges / coveralls (push) Successful in 1m4s
Allow us to generate year over year reports without having to rerun everything from the beginning. Co-authored-by: Natercio Moniz <[email protected]>
96 lines
2.0 KiB
Go
96 lines
2.0 KiB
Go
package internal
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestSide_String(t *testing.T) {
|
|
const unknown = "unknown"
|
|
|
|
seen := make(map[string]Kind, sentinelKind)
|
|
for k := Kind(1); k < sentinelKind; k++ {
|
|
t.Run(fmt.Sprintf("Kind %d", k), func(t *testing.T) {
|
|
str := k.String()
|
|
|
|
if other, ok := seen[str]; ok {
|
|
t.Errorf("want Kind(%d).String to be unique but was a duplicate of Kind(%d)", k, other)
|
|
} else {
|
|
seen[str] = k
|
|
}
|
|
|
|
if len(str) == 0 {
|
|
t.Errorf("want Kind(%d).String to be non-empty", k)
|
|
}
|
|
|
|
if str == unknown {
|
|
t.Errorf("want Kind(%d).String to be a known value", k)
|
|
}
|
|
})
|
|
}
|
|
|
|
if KindUnknown.String() != unknown {
|
|
t.Errorf("want Kind(0) to be unknown")
|
|
}
|
|
|
|
if Kind(sentinelKind).String() != unknown {
|
|
t.Errorf("want Kind(%d) to be unknown", sentinelKind)
|
|
}
|
|
}
|
|
|
|
func TestSide_Valid(t *testing.T) {
|
|
for k := Kind(1); k < sentinelKind; k++ {
|
|
if !k.Valid() {
|
|
t.Errorf("want %s(%d) to be valid", k, k)
|
|
}
|
|
}
|
|
|
|
if KindUnknown.Valid() {
|
|
t.Errorf("want Kind(0) to be invalid")
|
|
}
|
|
|
|
if Kind(sentinelKind).Valid() {
|
|
t.Errorf("want Kind(%d) to be invalid", sentinelKind)
|
|
}
|
|
}
|
|
|
|
func TestSide_Is(t *testing.T) {
|
|
t.Run("valid is self", func(t *testing.T) {
|
|
for k := Kind(1); k < sentinelKind; k++ {
|
|
if !k.Is(k) {
|
|
t.Errorf("want Kind(%d).Is(%d) to be true", k, k)
|
|
}
|
|
}
|
|
})
|
|
|
|
t.Run("valid is unknown", func(t *testing.T) {
|
|
for k := Kind(1); k < sentinelKind; k++ {
|
|
if k.Is(KindUnknown) {
|
|
t.Errorf("want Kind(%d).Is(0) to be false", k)
|
|
}
|
|
|
|
if k.Is(sentinelKind) {
|
|
t.Errorf("want Kind(%d).Is(%d) to be false", k, sentinelKind)
|
|
}
|
|
|
|
if k.Is(struct{}{}) {
|
|
t.Errorf("want Kind(%d).Is(other type) to be false", k)
|
|
}
|
|
}
|
|
})
|
|
|
|
t.Run("unknown is unknown", func(t *testing.T) {
|
|
if KindUnknown.Is(KindUnknown) {
|
|
t.Errorf("want Kind(0).Is(0) to be false")
|
|
}
|
|
|
|
if KindUnknown.Is(sentinelKind) {
|
|
t.Errorf("want Kind(0).Is(%d) to be false", sentinelKind)
|
|
}
|
|
|
|
if sentinelKind.Is(sentinelKind) {
|
|
t.Errorf("want Kind(%d).Is(%d) to be false", sentinelKind, sentinelKind)
|
|
}
|
|
})
|
|
}
|