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  }