From ed86b8220f3b777fc744d6abfedec7e012a827a3 Mon Sep 17 00:00:00 2001 From: sontrinh16 Date: Sat, 16 Dec 2023 02:00:21 +0700 Subject: [PATCH] addback invalid interface testcases --- tree_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tree_test.go b/tree_test.go index bbc1a05..3b8753e 100644 --- a/tree_test.go +++ b/tree_test.go @@ -102,6 +102,9 @@ func TestTreeFn(t *testing.T) { func TestGetTreeNameFromConstructorFn(t *testing.T) { treeName := "testing_get_tree_name_tree" treeConstructorFn := sudoConstructorFn + invalidTreeName := struct{}{} + invalidCaseTreeName := "invalid_case_tree" + invalidTreeConstructorFn := "invalid constructor fn" tests := []struct { name string @@ -127,6 +130,30 @@ func TestGetTreeNameFromConstructorFn(t *testing.T) { func() {}, false, }, + { + "get invalid interface value", + "", + nil, + func() { + // Seems like this case has low probability of happening + // since all register has been done through RegisterTree func + // which have strict type check as argument. + treeFns.Store(invalidCaseTreeName, invalidTreeConstructorFn) + }, + false, + }, + { + "get invalid interface key", + "", + nil, + func() { + // Seems like this case has low probability of happening + // since all register has been done through RegisterTree func + // which have strict type check as argument. + treeFns.Store(invalidTreeName, treeConstructorFn) + }, + false, + }, } for _, test := range tests {