2019-06-21 13:56:57 +02:00
|
|
|
package jet
|
2019-03-31 14:07:58 +02:00
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
2019-06-08 16:34:15 +02:00
|
|
|
var subQuery = table1.SELECT(table1ColFloat, table1ColInt).AsTable("sub_query")
|
2019-03-31 14:07:58 +02:00
|
|
|
|
2019-06-08 16:34:15 +02:00
|
|
|
func TestNewBoolColumn(t *testing.T) {
|
|
|
|
|
boolColumn := BoolColumn("colBool").From(subQuery)
|
2019-07-30 11:18:12 +02:00
|
|
|
assertPostgreClauseSerialize(t, boolColumn, `sub_query."colBool"`)
|
|
|
|
|
assertPostgreClauseSerialize(t, boolColumn.EQ(Bool(true)), `(sub_query."colBool" = $1)`, true)
|
2019-06-18 14:35:32 +02:00
|
|
|
assertProjectionSerialize(t, boolColumn, `sub_query."colBool" AS "colBool"`)
|
2019-06-08 16:34:15 +02:00
|
|
|
|
|
|
|
|
boolColumn2 := table1ColBool.From(subQuery)
|
2019-07-30 11:18:12 +02:00
|
|
|
assertPostgreClauseSerialize(t, boolColumn2, `sub_query."table1.col_bool"`)
|
|
|
|
|
assertPostgreClauseSerialize(t, boolColumn2.EQ(Bool(true)), `(sub_query."table1.col_bool" = $1)`, true)
|
2019-06-18 14:35:32 +02:00
|
|
|
assertProjectionSerialize(t, boolColumn2, `sub_query."table1.col_bool" AS "table1.col_bool"`)
|
2019-03-31 14:07:58 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestNewIntColumn(t *testing.T) {
|
2019-06-17 12:05:52 +02:00
|
|
|
intColumn := IntegerColumn("col_int").From(subQuery)
|
2019-07-30 11:18:12 +02:00
|
|
|
assertPostgreClauseSerialize(t, intColumn, `sub_query."col_int"`)
|
|
|
|
|
assertPostgreClauseSerialize(t, intColumn.EQ(Int(12)), `(sub_query."col_int" = $1)`, int64(12))
|
2019-06-18 14:35:32 +02:00
|
|
|
assertProjectionSerialize(t, intColumn, `sub_query."col_int" AS "col_int"`)
|
2019-03-31 14:07:58 +02:00
|
|
|
|
2019-06-08 16:34:15 +02:00
|
|
|
intColumn2 := table1ColInt.From(subQuery)
|
2019-07-30 11:18:12 +02:00
|
|
|
assertPostgreClauseSerialize(t, intColumn2, `sub_query."table1.col_int"`)
|
|
|
|
|
assertPostgreClauseSerialize(t, intColumn2.EQ(Int(14)), `(sub_query."table1.col_int" = $1)`, int64(14))
|
2019-06-18 14:35:32 +02:00
|
|
|
assertProjectionSerialize(t, intColumn2, `sub_query."table1.col_int" AS "table1.col_int"`)
|
2019-03-31 14:07:58 +02:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2019-06-08 16:34:15 +02:00
|
|
|
func TestNewFloatColumnColumn(t *testing.T) {
|
2019-06-17 12:05:52 +02:00
|
|
|
floatColumn := FloatColumn("col_float").From(subQuery)
|
2019-07-30 11:18:12 +02:00
|
|
|
assertPostgreClauseSerialize(t, floatColumn, `sub_query."col_float"`)
|
|
|
|
|
assertPostgreClauseSerialize(t, floatColumn.EQ(Float(1.11)), `(sub_query."col_float" = $1)`, float64(1.11))
|
2019-06-18 14:35:32 +02:00
|
|
|
assertProjectionSerialize(t, floatColumn, `sub_query."col_float" AS "col_float"`)
|
2019-03-31 14:07:58 +02:00
|
|
|
|
2019-06-08 16:34:15 +02:00
|
|
|
floatColumn2 := table1ColFloat.From(subQuery)
|
2019-07-30 11:18:12 +02:00
|
|
|
assertPostgreClauseSerialize(t, floatColumn2, `sub_query."table1.col_float"`)
|
|
|
|
|
assertPostgreClauseSerialize(t, floatColumn2.EQ(Float(2.22)), `(sub_query."table1.col_float" = $1)`, float64(2.22))
|
2019-06-18 14:35:32 +02:00
|
|
|
assertProjectionSerialize(t, floatColumn2, `sub_query."table1.col_float" AS "table1.col_float"`)
|
2019-03-31 14:07:58 +02:00
|
|
|
|
|
|
|
|
}
|