MCPcopy
hub / github.com/grafana/tempo / TestSubstringPredicate

Function TestSubstringPredicate

pkg/parquetquery/predicates_test.go:52–88  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

50}
51
52func TestSubstringPredicate(t *testing.T) {
53 testCases := []predicateTestCase{
54 {
55 testName: "all chunks/pages/values inspected",
56 predicate: NewSubstringPredicate("b"),
57 keptChunks: 1,
58 keptPages: 1,
59 keptValues: 2,
60 writeData: func(w *parquet.Writer) { //nolint:all
61
62 require.NoError(t, w.Write(&testDictString{"abc"})) // kept
63 require.NoError(t, w.Write(&testDictString{"bcd"})) // kept
64 require.NoError(t, w.Write(&testDictString{"cde"})) // skipped
65 },
66 },
67 {
68 testName: "dictionary in the page header allows for skipping a page",
69 predicate: NewSubstringPredicate("x"), // Not present in any values
70 keptChunks: 0,
71 keptPages: 0,
72 keptValues: 0,
73 writeData: func(w *parquet.Writer) { //nolint:all
74 require.NoError(t, w.Write(&testDictString{"abc"}))
75 require.NoError(t, w.Write(&testDictString{"abc"}))
76 require.NoError(t, w.Write(&testDictString{"abc"}))
77 require.NoError(t, w.Write(&testDictString{"abc"}))
78 require.NoError(t, w.Write(&testDictString{"abc"}))
79 },
80 },
81 }
82
83 for _, tC := range testCases {
84 t.Run(tC.testName, func(t *testing.T) {
85 testPredicate(t, tC)
86 })
87 }
88}
89
90func TestNewStringInPredicate(t *testing.T) {
91 testCases := []predicateTestCase{

Callers

nothing calls this directly

Calls 4

NewSubstringPredicateFunction · 0.85
testPredicateFunction · 0.85
WriteMethod · 0.65
RunMethod · 0.45

Tested by

no test coverage detected