// ⚡️ Fiber is an Express inspired web framework written in Go with ☕️
// 🤖 Github Repository: https://github.com/gofiber/fiber
// 📌 API Documentation: https://docs.gofiber.io

package utils

import (
	
	
	
	
	
	
	
	
)

// AssertEqual checks if values are equal
func ( testing.TB, ,  interface{},  ...string) { //nolint:thelper // TODO: Verify if tb can be nil
	if  != nil {
		.Helper()
	}

	if reflect.DeepEqual(, ) {
		return
	}

	 := "<nil>"
	 := "<nil>"

	if  != nil {
		 = reflect.TypeOf().String()
	}
	if  != nil {
		 = reflect.TypeOf().String()
	}

	 := "AssertEqual"
	if  != nil {
		 = .Name()
	}

	, , ,  := runtime.Caller(1)

	var  bytes.Buffer
	const  = 5
	 := tabwriter.NewWriter(&, 0, 0, , ' ', 0)
	_, _ = fmt.Fprintf(, "\nTest:\t%s", )
	_, _ = fmt.Fprintf(, "\nTrace:\t%s:%d", filepath.Base(), )
	if len() > 0 {
		_, _ = fmt.Fprintf(, "\nDescription:\t%s", [0])
	}
	_, _ = fmt.Fprintf(, "\nExpect:\t%v\t(%s)", , )
	_, _ = fmt.Fprintf(, "\nResult:\t%v\t(%s)", , )

	var  string
	if  := .Flush();  != nil {
		 = .Error()
	} else {
		 = .String()
	}

	if  != nil {
		.Fatal()
	} else {
		log.Fatal() //nolint:revive // tb might be nil, so we need a fallback
	}
}