From 988437fccfc601d4eb6a1ed8f57c958cafd57cd0 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Mon, 9 Feb 2026 18:19:17 -0600 Subject: [PATCH] add test for loading from registry for time modules --- internal/module/test/time-interval_test.go | 35 ++++++++++++++++++++++ internal/module/test/time-timer_test.go | 35 ++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 internal/module/test/time-interval_test.go create mode 100644 internal/module/test/time-timer_test.go diff --git a/internal/module/test/time-interval_test.go b/internal/module/test/time-interval_test.go new file mode 100644 index 0000000..4ee37f3 --- /dev/null +++ b/internal/module/test/time-interval_test.go @@ -0,0 +1,35 @@ +package module_test + +import ( + "testing" + + "github.com/jwetzell/showbridge-go/internal/config" + "github.com/jwetzell/showbridge-go/internal/module" +) + +func TestTimeIntervalFromRegistry(t *testing.T) { + registration, ok := module.ModuleRegistry["time.interval"] + if !ok { + t.Fatalf("time.interval module not registered") + } + + moduleInstance, err := registration.New(config.ModuleConfig{ + Id: "test", + Type: "time.interval", + Params: map[string]any{ + "duration": 1000.0, + }, + }) + + if err != nil { + t.Fatalf("failed to create time.interval module: %s", err) + } + + if moduleInstance.Id() != "test" { + t.Fatalf("time.interval module has wrong id: %s", moduleInstance.Id()) + } + + if moduleInstance.Type() != "time.interval" { + t.Fatalf("time.interval module has wrong type: %s", moduleInstance.Type()) + } +} diff --git a/internal/module/test/time-timer_test.go b/internal/module/test/time-timer_test.go new file mode 100644 index 0000000..ada2231 --- /dev/null +++ b/internal/module/test/time-timer_test.go @@ -0,0 +1,35 @@ +package module_test + +import ( + "testing" + + "github.com/jwetzell/showbridge-go/internal/config" + "github.com/jwetzell/showbridge-go/internal/module" +) + +func TestTimeTimerFromRegistry(t *testing.T) { + registration, ok := module.ModuleRegistry["time.timer"] + if !ok { + t.Fatalf("time.timer module not registered") + } + + moduleInstance, err := registration.New(config.ModuleConfig{ + Id: "test", + Type: "time.timer", + Params: map[string]any{ + "duration": 1000.0, + }, + }) + + if err != nil { + t.Fatalf("failed to create time.timer module: %s", err) + } + + if moduleInstance.Id() != "test" { + t.Fatalf("time.timer module has wrong id: %s", moduleInstance.Id()) + } + + if moduleInstance.Type() != "time.timer" { + t.Fatalf("time.timer module has wrong type: %s", moduleInstance.Type()) + } +}