// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 package metadata import ( "testing" ) func TestServer_Key_Equal(t *testing.T) { tests := []struct { name string k1 *Key k2 *Key equal bool }{ { name: "Key equality", k1: &Key{ name: "s1", }, k2: &Key{ name: "s1", }, equal: true, }, { name: "Key Inequality", k1: &Key{ name: "s1", }, k2: &Key{ name: "s2", }, equal: false, }, } for _, test := range tests { if test.k1.Equal(test.k2) != test.equal { t.Errorf("Expected a %v result from test %s", test.equal, test.name) } // Test Key to make sure it actually works as a key m := make(map[Key]bool) m[*test.k1] = true if _, found := m[*test.k2]; found != test.equal { t.Errorf("Expected a %v result from map test %s", test.equal, test.name) } } } func TestServer_Key(t *testing.T) { tests := []struct { name string sd *Server k *Key equal bool }{ { name: "Key equality", sd: &Server{ Name: "s1", }, k: &Key{ name: "s1", }, equal: true, }, { name: "Key inequality", sd: &Server{ Name: "s1", }, k: &Key{ name: "s2", }, equal: false, }, } for _, test := range tests { if test.k.Equal(test.sd.Key()) != test.equal { t.Errorf("Expected a %v result from test %s", test.equal, test.name) } } }