package pgtype_test import ( "bytes" "net" "testing" "github.com/jackc/pgx/v5/pgtype/testutil" ) func isExpectedEqHardwareAddr(a interface{}) func(interface{}) bool { return func(v interface{}) bool { aa := a.(net.HardwareAddr) vv := v.(net.HardwareAddr) if (aa == nil) != (vv == nil) { return false } if aa == nil { return true } return bytes.Compare(aa, vv) == 0 } } func TestMacaddrCodec(t *testing.T) { testutil.RunTranscodeTests(t, "macaddr", []testutil.TranscodeTestCase{ { mustParseMacaddr(t, "01:23:45:67:89:ab"), new(net.HardwareAddr), isExpectedEqHardwareAddr(mustParseMacaddr(t, "01:23:45:67:89:ab")), }, { "01:23:45:67:89:ab", new(net.HardwareAddr), isExpectedEqHardwareAddr(mustParseMacaddr(t, "01:23:45:67:89:ab")), }, { mustParseMacaddr(t, "01:23:45:67:89:ab"), new(string), isExpectedEq("01:23:45:67:89:ab"), }, {nil, new(*net.HardwareAddr), isExpectedEq((*net.HardwareAddr)(nil))}, }) }