// Code generated by rsagen, DO NOT EDIT.

package {{ .Package }}

import (
	"crypto/rsa"
	"fmt"
	"testing"

	"github.com/stretchr/testify/assert"

	"go.mau.fi/mautrix-telegram/pkg/gotd/crypto"
)

func {{ .TestFunc }}(t *testing.T) {
	fingerprint := func(pubkey *rsa.PublicKey) string {
		return fmt.Sprintf("%08x", uint64(crypto.RSAFingerprint(pubkey)))
	}
	{{- if .Single }}
		assert.Equal(t, {{ single .Keys | fingerprint | printf "%q" }}, fingerprint({{ .Variable }}))
	{{- else }}
		expected := []string{
			{{- range .Keys }}
				{{ fingerprint . | printf "%q" }},
			{{- end }}
		}
		assert.Len(t, {{ .Variable }}, len(expected))
		for i, pubkey := range {{ .Variable }} {
			assert.Equal(t, expected[i], fingerprint(pubkey))
		}
	{{- end }}
}
