--- /dev/null
+package gorm_test
+
+import (
+ "testing"
+
+ "github.com/jinzhu/gorm"
+)
+
+func TestTheNamingStrategy(t *testing.T) {
+
+ cases := []struct {
+ name string
+ namer gorm.Namer
+ expected string
+ }{
+ {name: "auth", expected: "auth", namer: gorm.TheNamingStrategy.DB},
+ {name: "userRestrictions", expected: "user_restrictions", namer: gorm.TheNamingStrategy.Table},
+ {name: "clientID", expected: "client_id", namer: gorm.TheNamingStrategy.Column},
+ }
+
+ for _, c := range cases {
+ t.Run(c.name, func(t *testing.T) {
+ result := c.namer(c.name)
+ if result != c.expected {
+ t.Errorf("error in naming strategy. expected: %v got :%v\n", c.expected, result)
+ }
+ })
+ }
+
+}
+
+func TestNamingStrategy(t *testing.T) {
+
+ dbNameNS := func(name string) string {
+ return "db_" + name
+ }
+ tableNameNS := func(name string) string {
+ return "tbl_" + name
+ }
+ columnNameNS := func(name string) string {
+ return "col_" + name
+ }
+
+ ns := &gorm.NamingStrategy{
+ DB: dbNameNS,
+ Table: tableNameNS,
+ Column: columnNameNS,
+ }
+
+ cases := []struct {
+ name string
+ namer gorm.Namer
+ expected string
+ }{
+ {name: "auth", expected: "db_auth", namer: ns.DB},
+ {name: "user", expected: "tbl_user", namer: ns.Table},
+ {name: "password", expected: "col_password", namer: ns.Column},
+ }
+
+ for _, c := range cases {
+ t.Run(c.name, func(t *testing.T) {
+ result := c.namer(c.name)
+ if result != c.expected {
+ t.Errorf("error in naming strategy. expected: %v got :%v\n", c.expected, result)
+ }
+ })
+ }
+
+}