1
2
3
4
5
6
7 package tag
8
9 import (
10 "testing"
11
12 "go.mongodb.org/mongo-driver/internal/assert"
13 "go.mongodb.org/mongo-driver/internal/require"
14 )
15
16 func TestTag_String(t *testing.T) {
17 t.Parallel()
18
19 tag := Tag{Name: "a", Value: "1"}
20 assert.Equal(t, "a=1", tag.String(), `expected "a=1", got %q`, tag.String())
21 }
22
23 func TestTagSets_NewTagSet(t *testing.T) {
24 t.Parallel()
25
26 ts := Set{Tag{Name: "a", Value: "1"}}
27
28 require.True(t, ts.Contains("a", "1"))
29 require.False(t, ts.Contains("1", "a"))
30 require.False(t, ts.Contains("A", "1"))
31 require.False(t, ts.Contains("a", "10"))
32 }
33
34 func TestTagSets_NewTagSetFromMap(t *testing.T) {
35 t.Parallel()
36
37 ts := NewTagSetFromMap(map[string]string{"a": "1"})
38
39 require.True(t, ts.Contains("a", "1"))
40 require.False(t, ts.Contains("1", "a"))
41 require.False(t, ts.Contains("A", "1"))
42 require.False(t, ts.Contains("a", "10"))
43 }
44
45 func TestTagSets_NewTagSetsFromMaps(t *testing.T) {
46 t.Parallel()
47
48 tss := NewTagSetsFromMaps([]map[string]string{{"a": "1"}, {"b": "1"}})
49
50 require.Len(t, tss, 2)
51
52 ts := tss[0]
53 require.True(t, ts.Contains("a", "1"))
54 require.False(t, ts.Contains("1", "a"))
55 require.False(t, ts.Contains("A", "1"))
56 require.False(t, ts.Contains("a", "10"))
57
58 ts = tss[1]
59 require.True(t, ts.Contains("b", "1"))
60 require.False(t, ts.Contains("1", "b"))
61 require.False(t, ts.Contains("B", "1"))
62 require.False(t, ts.Contains("b", "10"))
63 }
64
65 func TestTagSets_ContainsAll(t *testing.T) {
66 t.Parallel()
67
68 ts := Set{
69 Tag{Name: "a", Value: "1"},
70 Tag{Name: "b", Value: "2"},
71 }
72
73 test := Set{Tag{Name: "a", Value: "1"}}
74 require.True(t, ts.ContainsAll(test))
75 test = Set{Tag{Name: "a", Value: "1"}, Tag{Name: "b", Value: "2"}}
76 require.True(t, ts.ContainsAll(test))
77 test = Set{Tag{Name: "a", Value: "1"}, Tag{Name: "b", Value: "2"}}
78 require.True(t, ts.ContainsAll(test))
79
80 test = Set{Tag{Name: "a", Value: "2"}, Tag{Name: "b", Value: "1"}}
81 require.False(t, ts.ContainsAll(test))
82 test = Set{Tag{Name: "a", Value: "1"}, Tag{Name: "b", Value: "1"}}
83 require.False(t, ts.ContainsAll(test))
84 test = Set{Tag{Name: "a", Value: "2"}, Tag{Name: "b", Value: "2"}}
85 require.False(t, ts.ContainsAll(test))
86 }
87
88 func TestTagSets_String(t *testing.T) {
89 t.Parallel()
90
91 ts := Set{
92 Tag{Name: "a", Value: "1"},
93 Tag{Name: "b", Value: "2"},
94 }
95 assert.Equal(t, "a=1,b=2", ts.String(), `expected "a=1,b=2", got %q`, ts.String())
96 }
97
View as plain text