2019-03-31 09:17:28 +02:00
|
|
|
// +build disabled
|
|
|
|
|
|
2019-03-02 12:34:08 +01:00
|
|
|
package sqlbuilder
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"bytes"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
gc "gopkg.in/check.v1"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func (s *ExprSuite) TestInterval(c *gc.C) {
|
|
|
|
|
testTable := []struct {
|
|
|
|
|
interval time.Duration
|
|
|
|
|
expected string
|
|
|
|
|
expectedErr error
|
|
|
|
|
}{
|
|
|
|
|
{
|
|
|
|
|
interval: 50 * time.Microsecond,
|
|
|
|
|
expected: "INTERVAL '0:0:0:50' HOUR_MICROSECOND",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
interval: -50 * time.Microsecond,
|
|
|
|
|
expected: "INTERVAL '-0:0:0:50' HOUR_MICROSECOND",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
interval: 50*time.Microsecond + 50*time.Second,
|
|
|
|
|
expected: "INTERVAL '0:0:50:50' HOUR_MICROSECOND",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
interval: 50*time.Microsecond +
|
|
|
|
|
50*time.Second +
|
|
|
|
|
50*time.Minute,
|
|
|
|
|
expected: "INTERVAL '0:50:50:50' HOUR_MICROSECOND",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
interval: 50*time.Microsecond +
|
|
|
|
|
50*time.Second +
|
|
|
|
|
50*time.Minute +
|
|
|
|
|
50*time.Hour,
|
|
|
|
|
expected: "INTERVAL '50:50:50:50' HOUR_MICROSECOND",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
interval: 50 * time.Hour,
|
|
|
|
|
expected: "INTERVAL '50:0:0:0' HOUR_MICROSECOND",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
interval: 50*time.Hour + 50*time.Minute,
|
|
|
|
|
expected: "INTERVAL '50:50:0:0' HOUR_MICROSECOND",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
interval: 50*time.Hour + 50*time.Minute + 50*time.Second,
|
|
|
|
|
expected: "INTERVAL '50:50:50:0' HOUR_MICROSECOND",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
interval: 0,
|
|
|
|
|
expected: "INTERVAL '0:0:0:0' HOUR_MICROSECOND",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
interval: 50 * time.Nanosecond,
|
|
|
|
|
expected: "INTERVAL '0:0:0:0' HOUR_MICROSECOND",
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
buf := &bytes.Buffer{}
|
|
|
|
|
|
|
|
|
|
for i, tt := range testTable {
|
|
|
|
|
buf.Reset()
|
2019-04-29 14:39:48 +02:00
|
|
|
err := Interval(tt.interval).Serialize(buf)
|
2019-03-02 12:34:08 +01:00
|
|
|
c.Assert(err, gc.Equals, tt.expectedErr,
|
|
|
|
|
gc.Commentf("experiment #%d", i))
|
|
|
|
|
if err == nil {
|
|
|
|
|
c.Assert(buf.String(), gc.Equals, tt.expected,
|
|
|
|
|
gc.Commentf("experiment #%d", i))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|