2019-07-31 18:43:54 +02:00
package postgres
import (
"testing"
)
var timestamp = Timestamp ( 2000 , 1 , 31 , 10 , 20 , 0 , 0 )
func TestTimestampExpressionEQ ( t * testing . T ) {
2019-08-03 14:10:47 +02:00
assertClauseSerialize ( t , table1ColTimestamp . EQ ( table2ColTimestamp ) , "(table1.col_timestamp = table2.col_timestamp)" )
assertClauseSerialize ( t , table1ColTimestamp . EQ ( timestamp ) ,
2019-07-31 18:43:54 +02:00
"(table1.col_timestamp = $1::timestamp without time zone)" , "2000-01-31 10:20:00.000" )
}
func TestTimestampExpressionNOT_EQ ( t * testing . T ) {
2019-08-03 14:10:47 +02:00
assertClauseSerialize ( t , table1ColTimestamp . NOT_EQ ( table2ColTimestamp ) , "(table1.col_timestamp != table2.col_timestamp)" )
assertClauseSerialize ( t , table1ColTimestamp . NOT_EQ ( timestamp ) , "(table1.col_timestamp != $1::timestamp without time zone)" , "2000-01-31 10:20:00.000" )
2019-07-31 18:43:54 +02:00
}
func TestTimestampExpressionIS_DISTINCT_FROM ( t * testing . T ) {
2019-08-03 14:10:47 +02:00
assertClauseSerialize ( t , table1ColTimestamp . IS_DISTINCT_FROM ( table2ColTimestamp ) , "(table1.col_timestamp IS DISTINCT FROM table2.col_timestamp)" )
assertClauseSerialize ( t , table1ColTimestamp . IS_DISTINCT_FROM ( timestamp ) , "(table1.col_timestamp IS DISTINCT FROM $1::timestamp without time zone)" , "2000-01-31 10:20:00.000" )
2019-07-31 18:43:54 +02:00
}
func TestTimestampExpressionIS_NOT_DISTINCT_FROM ( t * testing . T ) {
2019-08-03 14:10:47 +02:00
assertClauseSerialize ( t , table1ColTimestamp . IS_NOT_DISTINCT_FROM ( table2ColTimestamp ) , "(table1.col_timestamp IS NOT DISTINCT FROM table2.col_timestamp)" )
assertClauseSerialize ( t , table1ColTimestamp . IS_NOT_DISTINCT_FROM ( timestamp ) , "(table1.col_timestamp IS NOT DISTINCT FROM $1::timestamp without time zone)" , "2000-01-31 10:20:00.000" )
2019-07-31 18:43:54 +02:00
}
func TestTimestampExpressionLT ( t * testing . T ) {
2019-08-03 14:10:47 +02:00
assertClauseSerialize ( t , table1ColTimestamp . LT ( table2ColTimestamp ) , "(table1.col_timestamp < table2.col_timestamp)" )
assertClauseSerialize ( t , table1ColTimestamp . LT ( timestamp ) , "(table1.col_timestamp < $1::timestamp without time zone)" , "2000-01-31 10:20:00.000" )
2019-07-31 18:43:54 +02:00
}
func TestTimestampExpressionLT_EQ ( t * testing . T ) {
2019-08-03 14:10:47 +02:00
assertClauseSerialize ( t , table1ColTimestamp . LT_EQ ( table2ColTimestamp ) , "(table1.col_timestamp <= table2.col_timestamp)" )
assertClauseSerialize ( t , table1ColTimestamp . LT_EQ ( timestamp ) , "(table1.col_timestamp <= $1::timestamp without time zone)" , "2000-01-31 10:20:00.000" )
2019-07-31 18:43:54 +02:00
}
func TestTimestampExpressionGT ( t * testing . T ) {
2019-08-03 14:10:47 +02:00
assertClauseSerialize ( t , table1ColTimestamp . GT ( table2ColTimestamp ) , "(table1.col_timestamp > table2.col_timestamp)" )
assertClauseSerialize ( t , table1ColTimestamp . GT ( timestamp ) , "(table1.col_timestamp > $1::timestamp without time zone)" , "2000-01-31 10:20:00.000" )
2019-07-31 18:43:54 +02:00
}
func TestTimestampExpressionGT_EQ ( t * testing . T ) {
2019-08-03 14:10:47 +02:00
assertClauseSerialize ( t , table1ColTimestamp . GT_EQ ( table2ColTimestamp ) , "(table1.col_timestamp >= table2.col_timestamp)" )
assertClauseSerialize ( t , table1ColTimestamp . GT_EQ ( timestamp ) , "(table1.col_timestamp >= $1::timestamp without time zone)" , "2000-01-31 10:20:00.000" )
2019-07-31 18:43:54 +02:00
}
func TestTimestampExp ( t * testing . T ) {
2019-08-03 14:10:47 +02:00
assertClauseSerialize ( t , TimestampExp ( table1ColFloat ) , "table1.col_float" )
assertClauseSerialize ( t , TimestampExp ( table1ColFloat ) . LT ( timestamp ) ,
2019-07-31 18:43:54 +02:00
"(table1.col_float < $1::timestamp without time zone)" , "2000-01-31 10:20:00.000" )
}