fork github.com/doug-martin

This commit is contained in:
2025-03-22 23:02:05 +08:00
commit f14642a736
131 changed files with 34555 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
package db
import (
"testing"
"git.fsdpf.net/go/db/v2/exp"
"git.fsdpf.net/go/db/v2/internal/sb"
"git.fsdpf.net/go/db/v2/sqlgen/mocks"
"github.com/stretchr/testify/suite"
)
type dialectTestSuite struct {
suite.Suite
}
func (dts *dialectTestSuite) TestDialect() {
opts := DefaultDialectOptions()
sm := new(mocks.SelectSQLGenerator)
d := sqlDialect{dialect: "test", dialectOptions: opts, selectGen: sm}
dts.Equal("test", d.Dialect())
}
func (dts *dialectTestSuite) TestToSelectSQL() {
opts := DefaultDialectOptions()
sm := new(mocks.SelectSQLGenerator)
d := sqlDialect{dialect: "test", dialectOptions: opts, selectGen: sm}
b := sb.NewSQLBuilder(true)
sc := exp.NewSelectClauses()
sm.On("Generate", b, sc).Return(nil).Once()
d.ToSelectSQL(b, sc)
sm.AssertExpectations(dts.T())
}
func (dts *dialectTestSuite) TestToUpdateSQL() {
opts := DefaultDialectOptions()
um := new(mocks.UpdateSQLGenerator)
d := sqlDialect{dialect: "test", dialectOptions: opts, updateGen: um}
b := sb.NewSQLBuilder(true)
uc := exp.NewUpdateClauses()
um.On("Generate", b, uc).Return(nil).Once()
d.ToUpdateSQL(b, uc)
um.AssertExpectations(dts.T())
}
func (dts *dialectTestSuite) TestToInsertSQL() {
opts := DefaultDialectOptions()
im := new(mocks.InsertSQLGenerator)
d := sqlDialect{dialect: "test", dialectOptions: opts, insertGen: im}
b := sb.NewSQLBuilder(true)
ic := exp.NewInsertClauses()
im.On("Generate", b, ic).Return(nil).Once()
d.ToInsertSQL(b, ic)
im.AssertExpectations(dts.T())
}
func (dts *dialectTestSuite) TestToDeleteSQL() {
opts := DefaultDialectOptions()
dm := new(mocks.DeleteSQLGenerator)
d := sqlDialect{dialect: "test", dialectOptions: opts, deleteGen: dm}
b := sb.NewSQLBuilder(true)
dc := exp.NewDeleteClauses()
dm.On("Generate", b, dc).Return(nil).Once()
d.ToDeleteSQL(b, dc)
dm.AssertExpectations(dts.T())
}
func (dts *dialectTestSuite) TestToTruncateSQL() {
opts := DefaultDialectOptions()
tm := new(mocks.TruncateSQLGenerator)
d := sqlDialect{dialect: "test", dialectOptions: opts, truncateGen: tm}
b := sb.NewSQLBuilder(true)
tc := exp.NewTruncateClauses()
tm.On("Generate", b, tc).Return(nil).Once()
d.ToTruncateSQL(b, tc)
tm.AssertExpectations(dts.T())
}
func TestSQLDialect(t *testing.T) {
suite.Run(t, new(dialectTestSuite))
}