// Code generated by testifylint/internal/testgen. DO NOT EDIT.

package equalvalues

import (
	"crypto/tls"
	"testing"

	"github.com/stretchr/testify/assert"
)

type S []string

type Request struct{ ID string }
type RequestWithTags struct {
	ID string `json:"name"`
}
type Arg struct{ ID string }
type customAnyAlias any

func TestEqualValuesChecker(t *testing.T) {
	var (
		i   int
		i8  int8
		i16 int16
		i32 int32
		i64 int64
	)
	var (
		ui   uint
		ui8  uint8
		ui16 uint16
		ui32 uint32
		ui64 uint64
	)
	var (
		str         string
		req         Request
		reqWithTags RequestWithTags
		dto         Arg
		ss          struct{ int }
		m           map[string]string
		mm          map[any]any
		b           []byte
		f           func() bool
	)

	var (
		fortyTwoAny       any            = 42
		fortyTwoInterface interface{}    = float32(42.0)
		fortyTwoAnyAlias  customAnyAlias = uint8(42)
	)

	tlsConf := new(tls.Config)

	// Invalid.
	{
		assert.EqualValues(t, 42, i)                                                         // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, 42, i, "msg with args %d %s", 42, "42")                       // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, int8(42), i8)                                                  // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, int8(42), i8, "msg with args %d %s", 42, "42")                // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, int16(42), i16)                                                // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, int16(42), i16, "msg with args %d %s", 42, "42")              // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, int32(42), i32)                                                // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, int32(42), i32, "msg with args %d %s", 42, "42")              // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, int64(42), i64)                                                // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, int64(42), i64, "msg with args %d %s", 42, "42")              // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, uint(42), ui)                                                  // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, uint(42), ui, "msg with args %d %s", 42, "42")                // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, uint8(42), ui8)                                                // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, uint8(42), ui8, "msg with args %d %s", 42, "42")              // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, uint16(42), ui16)                                              // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, uint16(42), ui16, "msg with args %d %s", 42, "42")            // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, uint32(42), ui32)                                              // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, uint32(42), ui32, "msg with args %d %s", 42, "42")            // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, uint64(42), ui64)                                              // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, uint64(42), ui64, "msg with args %d %s", 42, "42")            // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, "42", str)                                                     // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, "42", str, "msg with args %d %s", 42, "42")                   // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, req, req)                                                      // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, req, req, "msg with args %d %s", 42, "42")                    // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, struct{ int }{}, ss)                                           // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, struct{ int }{}, ss, "msg with args %d %s", 42, "42")         // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, map[any]any{}, mm)                                             // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, map[any]any{}, mm, "msg with args %d %s", 42, "42")           // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, []byte(nil), b)                                                // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, []byte(nil), b, "msg with args %d %s", 42, "42")              // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, map[string]string(nil), m)                                     // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, map[string]string(nil), m, "msg with args %d %s", 42, "42")   // want "equal-values: use assert\\.Equalf"
		assert.EqualValues(t, (*tls.Config)(nil), tlsConf)                                   // want "equal-values: use assert\\.Equal"
		assert.EqualValuesf(t, (*tls.Config)(nil), tlsConf, "msg with args %d %s", 42, "42") // want "equal-values: use assert\\.Equalf"
		assert.NotEqualValues(t, 42, i)                                                      // want "equal-values: use assert\\.NotEqual"
		assert.NotEqualValuesf(t, 42, i, "msg with args %d %s", 42, "42")                    // want "equal-values: use assert\\.NotEqualf"
	}

	// Valid.
	{
		assert.Equal(t, 42, i)
		assert.Equalf(t, 42, i, "msg with args %d %s", 42, "42")
		assert.Equal(t, int8(42), i8)
		assert.Equalf(t, int8(42), i8, "msg with args %d %s", 42, "42")
		assert.Equal(t, int16(42), i16)
		assert.Equalf(t, int16(42), i16, "msg with args %d %s", 42, "42")
		assert.Equal(t, int32(42), i32)
		assert.Equalf(t, int32(42), i32, "msg with args %d %s", 42, "42")
		assert.Equal(t, int64(42), i64)
		assert.Equalf(t, int64(42), i64, "msg with args %d %s", 42, "42")
		assert.Equal(t, uint(42), ui)
		assert.Equalf(t, uint(42), ui, "msg with args %d %s", 42, "42")
		assert.Equal(t, uint8(42), ui8)
		assert.Equalf(t, uint8(42), ui8, "msg with args %d %s", 42, "42")
		assert.Equal(t, uint16(42), ui16)
		assert.Equalf(t, uint16(42), ui16, "msg with args %d %s", 42, "42")
		assert.Equal(t, uint32(42), ui32)
		assert.Equalf(t, uint32(42), ui32, "msg with args %d %s", 42, "42")
		assert.Equal(t, uint64(42), ui64)
		assert.Equalf(t, uint64(42), ui64, "msg with args %d %s", 42, "42")
		assert.Equal(t, "42", str)
		assert.Equalf(t, "42", str, "msg with args %d %s", 42, "42")
		assert.Equal(t, req, req)
		assert.Equalf(t, req, req, "msg with args %d %s", 42, "42")
		assert.Equal(t, struct{ int }{}, ss)
		assert.Equalf(t, struct{ int }{}, ss, "msg with args %d %s", 42, "42")
		assert.Equal(t, map[any]any{}, mm)
		assert.Equalf(t, map[any]any{}, mm, "msg with args %d %s", 42, "42")
		assert.Equal(t, []byte(nil), b)
		assert.Equalf(t, []byte(nil), b, "msg with args %d %s", 42, "42")
		assert.Equal(t, map[string]string(nil), m)
		assert.Equalf(t, map[string]string(nil), m, "msg with args %d %s", 42, "42")
		assert.Equal(t, (*tls.Config)(nil), tlsConf)
		assert.Equalf(t, (*tls.Config)(nil), tlsConf, "msg with args %d %s", 42, "42")
		assert.NotEqual(t, 42, i)
		assert.NotEqualf(t, 42, i, "msg with args %d %s", 42, "42")
		assert.EqualValues(t, 2048, mm["Etype"])
		assert.EqualValuesf(t, 2048, mm["Etype"], "msg with args %d %s", 42, "42")
		assert.EqualValues(t, req, dto)
		assert.EqualValuesf(t, req, dto, "msg with args %d %s", 42, "42")
		assert.EqualValues(t, 42, fortyTwoAny)
		assert.EqualValuesf(t, 42, fortyTwoAny, "msg with args %d %s", 42, "42")
		assert.EqualValues(t, 42, fortyTwoAny)
		assert.EqualValuesf(t, 42, fortyTwoAny, "msg with args %d %s", 42, "42")
		assert.EqualValues(t, 42, fortyTwoInterface)
		assert.EqualValuesf(t, 42, fortyTwoInterface, "msg with args %d %s", 42, "42")
		assert.EqualValues(t, 42, fortyTwoAnyAlias)
		assert.EqualValuesf(t, 42, fortyTwoAnyAlias, "msg with args %d %s", 42, "42")
		assert.EqualValues(t, fortyTwoAny, fortyTwoInterface)
		assert.EqualValuesf(t, fortyTwoAny, fortyTwoInterface, "msg with args %d %s", 42, "42")
		assert.EqualValues(t, req, reqWithTags)
		assert.EqualValuesf(t, req, reqWithTags, "msg with args %d %s", 42, "42")
		assert.EqualValues(t, S{"1"}, []string{"1"})
		assert.EqualValuesf(t, S{"1"}, []string{"1"}, "msg with args %d %s", 42, "42")
		assert.EqualValues(t, f, (func())(nil))
		assert.EqualValuesf(t, f, (func())(nil), "msg with args %d %s", 42, "42")
		assert.EqualValues(t, (func())(nil), f)
		assert.EqualValuesf(t, (func())(nil), f, "msg with args %d %s", 42, "42")
		assert.NotEqualValues(t, 2048, mm["Etype"])
		assert.NotEqualValuesf(t, 2048, mm["Etype"], "msg with args %d %s", 42, "42")
	}
}
