Make composition and boundary tests extension-friendly
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package register
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
@@ -13,8 +12,22 @@ func TestRegisterAddsSeriatimFamily(t *testing.T) {
|
||||
if err := Register(registries, nil); err != nil {
|
||||
t.Fatalf("Register() error = %v, want nil", err)
|
||||
}
|
||||
if got, want := registries.Inputs.RegisteredKeys(), []string{"seriatim"}; !reflect.DeepEqual(got, want) {
|
||||
t.Fatalf("input keys = %#v, want %#v", got, want)
|
||||
assertContainsKeys(t, "inputs", registries.Inputs.RegisteredKeys(), []string{"seriatim"})
|
||||
if adapter, err := registries.Inputs.Build("seriatim"); err != nil || adapter.Key() != "seriatim" {
|
||||
t.Fatalf("build seriatim input = %v, %v; want seriatim implementation", adapter, err)
|
||||
}
|
||||
}
|
||||
|
||||
func assertContainsKeys(t *testing.T, name string, got, want []string) {
|
||||
t.Helper()
|
||||
seen := make(map[string]struct{}, len(got))
|
||||
for _, key := range got {
|
||||
seen[key] = struct{}{}
|
||||
}
|
||||
for _, key := range want {
|
||||
if _, ok := seen[key]; !ok {
|
||||
t.Fatalf("%s keys = %#v, want required key %q", name, got, key)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user