MCPcopy Index your code
hub / github.com/pingcap/tidb / TestOptionalPropKeySet

Function TestOptionalPropKeySet

pkg/expression/exprctx/optional_test.go:24–65  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

22)
23
24func TestOptionalPropKeySet(t *testing.T) {
25 var keySet OptionalEvalPropKeySet
26 require.True(t, keySet.IsEmpty())
27 require.False(t, keySet.IsFull())
28 require.False(t, keySet.Contains(OptPropCurrentUser))
29
30 // Add one key
31 keySet2 := keySet.Add(OptPropCurrentUser)
32 require.True(t, keySet2.Contains(OptPropCurrentUser))
33 require.False(t, keySet2.IsEmpty())
34 require.False(t, keySet2.IsFull())
35
36 // old key is not affected
37 require.True(t, keySet.IsEmpty())
38
39 // Add second key
40 keySet3 := keySet2.Add(OptPropDDLOwnerInfo)
41 require.True(t, keySet3.Contains(OptPropCurrentUser))
42 require.True(t, keySet3.Contains(OptPropDDLOwnerInfo))
43 require.False(t, keySet3.IsEmpty())
44 require.False(t, keySet3.IsFull())
45 require.False(t, keySet2.Contains(OptPropDDLOwnerInfo))
46
47 // remove one key
48 keySet4 := keySet3.Remove(OptPropCurrentUser)
49 require.False(t, keySet4.Contains(OptPropCurrentUser))
50 require.True(t, keySet4.Contains(OptPropDDLOwnerInfo))
51 require.False(t, keySet4.IsFull())
52 require.False(t, keySet4.IsEmpty())
53
54 // add all other keys
55 keySet4 = keySet3.
56 Add(OptPropSessionVars).
57 Add(OptPropInfoSchema).
58 Add(OptPropKVStore).
59 Add(OptPropSQLExecutor).
60 Add(OptPropSequenceOperator).
61 Add(OptPropAdvisoryLock).
62 Add(OptPropPrivilegeChecker)
63 require.True(t, keySet4.IsFull())
64 require.False(t, keySet4.IsEmpty())
65}
66
67func TestOptionalPropKeySetWithUnusedBits(t *testing.T) {
68 require.Less(t, OptPropsCnt, 64)

Callers

nothing calls this directly

Calls 7

IsEmptyMethod · 0.95
IsFullMethod · 0.95
ContainsMethod · 0.95
AddMethod · 0.95
ContainsMethod · 0.65
AddMethod · 0.65
RemoveMethod · 0.65

Tested by

no test coverage detected