2019-03-02 12:34:08 +01:00
|
|
|
package sqlbuilder
|
|
|
|
|
|
2019-05-29 14:03:38 +02:00
|
|
|
import (
|
|
|
|
|
"gotest.tools/assert"
|
|
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
2019-04-07 09:58:12 +02:00
|
|
|
var table1Col1 = NewIntegerColumn("col1", Nullable)
|
2019-06-01 15:00:37 +02:00
|
|
|
var table1ColInt = NewIntegerColumn("colInt", Nullable)
|
2019-05-31 12:59:57 +02:00
|
|
|
var table1ColFloat = NewFloatColumn("colFloat", Nullable)
|
2019-04-07 09:58:12 +02:00
|
|
|
var table1Col3 = NewIntegerColumn("col3", Nullable)
|
2019-05-29 14:03:38 +02:00
|
|
|
var table1ColTime = NewTimeColumn("colTime", Nullable)
|
|
|
|
|
var table1ColBool = NewBoolColumn("colBool", Nullable)
|
|
|
|
|
|
2019-03-02 12:34:08 +01:00
|
|
|
var table1 = NewTable(
|
2019-03-09 09:52:03 +01:00
|
|
|
"db",
|
2019-03-02 12:34:08 +01:00
|
|
|
"table1",
|
|
|
|
|
table1Col1,
|
2019-06-01 15:00:37 +02:00
|
|
|
table1ColInt,
|
2019-05-31 12:59:57 +02:00
|
|
|
table1ColFloat,
|
2019-03-02 12:34:08 +01:00
|
|
|
table1Col3,
|
2019-05-29 14:03:38 +02:00
|
|
|
table1ColTime,
|
|
|
|
|
table1ColBool)
|
2019-03-02 12:34:08 +01:00
|
|
|
|
2019-04-07 09:58:12 +02:00
|
|
|
var table2Col3 = NewIntegerColumn("col3", Nullable)
|
|
|
|
|
var table2Col4 = NewIntegerColumn("col4", Nullable)
|
2019-06-01 15:00:37 +02:00
|
|
|
var table2ColInt = NewIntegerColumn("colInt", Nullable)
|
|
|
|
|
var table2ColFloat = NewFloatColumn("colFloat", Nullable)
|
|
|
|
|
var table2ColStr = NewStringColumn("colStr", Nullable)
|
2019-05-29 14:03:38 +02:00
|
|
|
var table2ColBool = NewBoolColumn("colBool", Nullable)
|
|
|
|
|
var table2ColTime = NewTimeColumn("colTime", Nullable)
|
|
|
|
|
|
2019-03-02 12:34:08 +01:00
|
|
|
var table2 = NewTable(
|
2019-03-09 09:52:03 +01:00
|
|
|
"db",
|
2019-03-02 12:34:08 +01:00
|
|
|
"table2",
|
|
|
|
|
table2Col3,
|
2019-05-29 14:03:38 +02:00
|
|
|
table2Col4,
|
2019-06-01 15:00:37 +02:00
|
|
|
table2ColInt,
|
|
|
|
|
table2ColFloat,
|
|
|
|
|
table2ColStr,
|
2019-05-29 14:03:38 +02:00
|
|
|
table2ColBool,
|
|
|
|
|
table2ColTime)
|
2019-03-02 12:34:08 +01:00
|
|
|
|
2019-04-07 09:58:12 +02:00
|
|
|
var table3Col1 = NewIntegerColumn("col1", Nullable)
|
2019-05-29 14:03:38 +02:00
|
|
|
var table3StrCol = NewStringColumn("col2", Nullable)
|
2019-03-02 12:34:08 +01:00
|
|
|
var table3 = NewTable(
|
2019-03-09 09:52:03 +01:00
|
|
|
"db",
|
2019-03-02 12:34:08 +01:00
|
|
|
"table3",
|
|
|
|
|
table3Col1,
|
2019-05-29 14:03:38 +02:00
|
|
|
table3StrCol)
|
|
|
|
|
|
2019-06-01 18:04:56 +02:00
|
|
|
func assertExpressionSerialize(t *testing.T, expression expression, query string, args ...interface{}) {
|
2019-05-29 14:03:38 +02:00
|
|
|
out := queryData{}
|
2019-06-01 18:04:56 +02:00
|
|
|
err := expression.serialize(select_statement, &out)
|
2019-05-29 14:03:38 +02:00
|
|
|
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
2019-06-01 18:04:56 +02:00
|
|
|
assert.DeepEqual(t, out.buff.String(), query)
|
|
|
|
|
assert.DeepEqual(t, out.args, args)
|
2019-05-29 14:03:38 +02:00
|
|
|
}
|