| 270 | } |
| 271 | |
| 272 | func TestNotNilPointer(t *testing.T) { |
| 273 | c := "Name" |
| 274 | name := &c |
| 275 | eq := Eq{"name": name} |
| 276 | sql, args, err := eq.ToSql() |
| 277 | |
| 278 | assert.NoError(t, err) |
| 279 | assert.Equal(t, []interface{}{"Name"}, args) |
| 280 | assert.Equal(t, "name = ?", sql) |
| 281 | |
| 282 | neq := NotEq{"name": name} |
| 283 | sql, args, err = neq.ToSql() |
| 284 | |
| 285 | assert.NoError(t, err) |
| 286 | assert.Equal(t, []interface{}{"Name"}, args) |
| 287 | assert.Equal(t, "name <> ?", sql) |
| 288 | |
| 289 | s := []int{1, 2, 3} |
| 290 | ids := &s |
| 291 | eq = Eq{"id": ids} |
| 292 | sql, args, err = eq.ToSql() |
| 293 | assert.NoError(t, err) |
| 294 | assert.Equal(t, []interface{}{1, 2, 3}, args) |
| 295 | assert.Equal(t, "id IN (?,?,?)", sql) |
| 296 | |
| 297 | neq = NotEq{"id": ids} |
| 298 | sql, args, err = neq.ToSql() |
| 299 | assert.NoError(t, err) |
| 300 | assert.Equal(t, []interface{}{1, 2, 3}, args) |
| 301 | assert.Equal(t, "id NOT IN (?,?,?)", sql) |
| 302 | |
| 303 | a := [3]int{1, 2, 3} |
| 304 | ida := &a |
| 305 | eq = Eq{"id": ida} |
| 306 | sql, args, err = eq.ToSql() |
| 307 | assert.NoError(t, err) |
| 308 | assert.Equal(t, []interface{}{1, 2, 3}, args) |
| 309 | assert.Equal(t, "id IN (?,?,?)", sql) |
| 310 | |
| 311 | neq = NotEq{"id": ida} |
| 312 | sql, args, err = neq.ToSql() |
| 313 | assert.NoError(t, err) |
| 314 | assert.Equal(t, []interface{}{1, 2, 3}, args) |
| 315 | assert.Equal(t, "id NOT IN (?,?,?)", sql) |
| 316 | } |
| 317 | |
| 318 | func TestEmptyAndToSql(t *testing.T) { |
| 319 | sql, args, err := And{}.ToSql() |