You've already forked opentelemetry-go
mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-11-27 22:49:15 +02:00
Use Distinct instead of Set for map keys (#5027)
This commit is contained in:
@@ -95,7 +95,7 @@ func TestValue(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetComparability(t *testing.T) {
|
||||
func TestEquivalence(t *testing.T) {
|
||||
pairs := [][2]attribute.KeyValue{
|
||||
{
|
||||
attribute.Bool("Bool", true),
|
||||
@@ -139,12 +139,39 @@ func TestSetComparability(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
for _, p := range pairs {
|
||||
s0, s1 := attribute.NewSet(p[0]), attribute.NewSet(p[1])
|
||||
m := map[attribute.Set]struct{}{s0: {}}
|
||||
_, ok := m[s1]
|
||||
assert.Truef(t, ok, "%s not comparable", p[0].Value.Type())
|
||||
}
|
||||
t.Run("Distinct", func(t *testing.T) {
|
||||
for _, p := range pairs {
|
||||
s0, s1 := attribute.NewSet(p[0]), attribute.NewSet(p[1])
|
||||
m := map[attribute.Distinct]struct{}{s0.Equivalent(): {}}
|
||||
_, ok := m[s1.Equivalent()]
|
||||
assert.Truef(t, ok, "Distinct comparison of %s type: not equivalent", p[0].Value.Type())
|
||||
assert.Truef(
|
||||
t,
|
||||
ok,
|
||||
"Distinct comparison of %s type: not equivalent: %s != %s",
|
||||
p[0].Value.Type(),
|
||||
s0.Encoded(attribute.DefaultEncoder()),
|
||||
s1.Encoded(attribute.DefaultEncoder()),
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("Set", func(t *testing.T) {
|
||||
// Maintain backwards compatibility.
|
||||
for _, p := range pairs {
|
||||
s0, s1 := attribute.NewSet(p[0]), attribute.NewSet(p[1])
|
||||
m := map[attribute.Set]struct{}{s0: {}}
|
||||
_, ok := m[s1]
|
||||
assert.Truef(
|
||||
t,
|
||||
ok,
|
||||
"Set comparison of %s type: not equivalent: %s != %s",
|
||||
p[0].Value.Type(),
|
||||
s0.Encoded(attribute.DefaultEncoder()),
|
||||
s1.Encoded(attribute.DefaultEncoder()),
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestAsSlice(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user