package main

import (
	"bytes"
	"strings"
	"testing"
)

func TestBindingsAndZeroValues(t *testing.T) {
	var out bytes.Buffer
	if err := run(&out); err != nil {
		t.Fatal(err)
	}
	for _, want := range []string{
		"sqlx: SELECT id FROM users WHERE active=$1 AND id IN ($2, $3) args=[true 2 7]",
		"sqlx: empty-slice-error=true",
		"gorm struct: active=true affected=0",
		"gorm map: active=false affected=1",
		"vars=[false 1]",
	} {
		if !strings.Contains(out.String(), want) {
			t.Fatalf("missing %q in %s", want, out.String())
		}
	}
}
