Files
questshock/modding/hacked/ss1/resource/Language_test.go
T

59 lines
1.3 KiB
Go

package resource_test
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
"github.com/inkyblackness/hacked/ss1/resource"
)
func TestLanguageIncludes(t *testing.T) {
tt := []struct {
primary resource.Language
secondary resource.Language
expected bool
}{
{resource.LangAny, resource.LangAny, true},
{resource.LangAny, resource.LangGerman, true},
{resource.LangFrench, resource.LangAny, false},
{resource.LangGerman, resource.LangFrench, false},
{resource.LangFrench, resource.LangFrench, true},
}
for _, tc := range tt {
td := tc
t.Run(fmt.Sprintf("Expecting %v including %v should be %v", td.primary, td.secondary, td.expected), func(t *testing.T) {
result := td.primary.Includes(td.secondary)
assert.Equal(t, td.expected, result)
})
}
}
func TestLanguageString(t *testing.T) {
tt := []struct {
lang resource.Language
expected string
}{
{resource.LangAny, "Any"},
{resource.LangDefault, "Default"},
{resource.LangFrench, "French"},
{resource.LangGerman, "German"},
{resource.Language(0x40), "Unknown40"},
}
for _, tc := range tt {
td := tc
t.Run(td.expected, func(t *testing.T) {
result := td.lang.String()
assert.Equal(t, td.expected, result)
})
}
}
func TestLanguages(t *testing.T) {
result := resource.Languages()
assert.Equal(t, 3, len(result))
}