diff --git a/callbacks/convert_map_test.go b/callbacks/helper_test.go similarity index 65% rename from callbacks/convert_map_test.go rename to callbacks/helper_test.go index 48b3933b..6b76a415 100644 --- a/callbacks/convert_map_test.go +++ b/callbacks/helper_test.go @@ -8,6 +8,36 @@ import ( "gorm.io/gorm/clause" ) +func TestLoadOrStoreVisitMap(t *testing.T) { + var vm visitMap + var loaded bool + type testM struct { + Name string + } + + t1 := testM{Name: "t1"} + t2 := testM{Name: "t2"} + t3 := testM{Name: "t3"} + + vm = make(visitMap) + if loaded = loadOrStoreVisitMap(&vm, reflect.ValueOf(&t1)); loaded { + t.Fatalf("loaded should be false") + } + + if loaded = loadOrStoreVisitMap(&vm, reflect.ValueOf(&t1)); !loaded { + t.Fatalf("loaded should be true") + } + + // t1 already exist but t2 not + if loaded = loadOrStoreVisitMap(&vm, reflect.ValueOf([]*testM{&t1, &t2, &t3})); loaded { + t.Fatalf("loaded should be false") + } + + if loaded = loadOrStoreVisitMap(&vm, reflect.ValueOf([]*testM{&t2, &t3})); !loaded { + t.Fatalf("loaded should be true") + } +} + func TestConvertMapToValuesForCreate(t *testing.T) { testCase := []struct { name string diff --git a/callbacks/visit_map_test.go b/callbacks/visit_map_test.go deleted file mode 100644 index b1fb86db..00000000 --- a/callbacks/visit_map_test.go +++ /dev/null @@ -1,36 +0,0 @@ -package callbacks - -import ( - "reflect" - "testing" -) - -func TestLoadOrStoreVisitMap(t *testing.T) { - var vm visitMap - var loaded bool - type testM struct { - Name string - } - - t1 := testM{Name: "t1"} - t2 := testM{Name: "t2"} - t3 := testM{Name: "t3"} - - vm = make(visitMap) - if loaded = loadOrStoreVisitMap(&vm, reflect.ValueOf(&t1)); loaded { - t.Fatalf("loaded should be false") - } - - if loaded = loadOrStoreVisitMap(&vm, reflect.ValueOf(&t1)); !loaded { - t.Fatalf("loaded should be true") - } - - // t1 already exist but t2 not - if loaded = loadOrStoreVisitMap(&vm, reflect.ValueOf([]*testM{&t1, &t2, &t3})); loaded { - t.Fatalf("loaded should be false") - } - - if loaded = loadOrStoreVisitMap(&vm, reflect.ValueOf([]*testM{&t2, &t3})); !loaded { - t.Fatalf("loaded should be true") - } -}