From cba1c86639159745e9c5659ebf67b07dfc5be3f5 Mon Sep 17 00:00:00 2001 From: Onur Cinar Date: Fri, 6 Sep 2024 20:10:07 -0700 Subject: [PATCH] Repository factory new tests. (#207) # Describe Request Repository factory new test. # Change Type New feature. --- asset/repository_factory_test.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/asset/repository_factory_test.go b/asset/repository_factory_test.go index 43f7a5c..4625a02 100644 --- a/asset/repository_factory_test.go +++ b/asset/repository_factory_test.go @@ -10,6 +10,36 @@ import ( "github.com/cinar/indicator/v2/asset" ) +func TestNewRepositoryUnknown(t *testing.T) { + repository, err := asset.NewRepository("unknown", "") + if err == nil { + t.Fatalf("unknown repository: %T", repository) + } +} + +func TestRegisterRepositoryBuilder(t *testing.T) { + builderName := "testbuilder" + + repository, err := asset.NewRepository(builderName, "") + if err == nil { + t.Fatalf("testbuilder is: %T", repository) + } + + asset.RegisterRepositoryBuilder(builderName, func(_ string) (asset.Repository, error) { + return asset.NewInMemoryRepository(), nil + }) + + repository, err = asset.NewRepository(builderName, "") + if err != nil { + t.Fatalf("testbuilder is not found: %v", err) + } + + _, ok := repository.(*asset.InMemoryRepository) + if !ok { + t.Fatalf("testbuilder is: %T", repository) + } +} + func TestNewRepositoryMemory(t *testing.T) { repository, err := asset.NewRepository(asset.InMemoryRepositoryBuilderName, "") if err != nil {