github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/sqlx/utils_test.go (about) 1 package sqlx 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 "github.com/johnnyeven/libtools/sqlx/builder" 9 ) 10 11 func TestFlattenArgs(t *testing.T) { 12 tt := assert.New(t) 13 14 { 15 q, args := flattenArgs(`#ID IN (?)`, []int{28, 29, 30}) 16 tt.Equal("#ID IN (?,?,?)", q) 17 tt.Equal(args, []interface{}{28, 29, 30}) 18 } 19 { 20 q, args := flattenArgs(`#ID = (?)`, []byte("")) 21 tt.Equal("#ID = (?)", q) 22 tt.Equal(args, []interface{}{[]byte("")}) 23 } 24 25 { 26 q, args := flattenArgs(`#ID = ?`, builder.Expr("#ID + ?", 1)) 27 tt.Equal("#ID = #ID + ?", q) 28 tt.Equal(args, []interface{}{1}) 29 } 30 } 31 32 func TestStringIndexOf(t *testing.T) { 33 tt := assert.New(t) 34 35 tt.Equal(-1, stringIndexOf([]string{"1", "2"}, "3")) 36 tt.Equal(1, stringIndexOf([]string{"1", "2"}, "2")) 37 }