MCPcopy Create free account
hub / github.com/bytebase/bytebase / assertStatementsEqual

Function assertStatementsEqual

backend/plugin/parser/base/split_test_runner.go:83–109  ·  view source on GitHub ↗

assertStatementsEqual compares actual statements against expected results.

(t *testing.T, expected []StatementResult, actual []Statement, msgAndArgs ...any)

Source from the content-addressed store, hash-verified

81
82// assertStatementsEqual compares actual statements against expected results.
83func assertStatementsEqual(t *testing.T, expected []StatementResult, actual []Statement, msgAndArgs ...any) {
84 t.Helper()
85
86 args := append([]any{"statement count mismatch"}, msgAndArgs...)
87 require.Equal(t, len(expected), len(actual), args...)
88
89 for i, exp := range expected {
90 act := actual[i]
91 msg := append([]any{"statement %d mismatch", i}, msgAndArgs...)
92
93 require.Equal(t, exp.Text, act.Text, msg...)
94 require.Equal(t, exp.BaseLine, act.BaseLine(), msg...)
95 require.Equal(t, exp.Empty, act.Empty, msg...)
96
97 require.NotNil(t, act.Start, msg...)
98 require.Equal(t, exp.Start.Line, act.Start.Line, msg...)
99 require.Equal(t, exp.Start.Column, act.Start.Column, msg...)
100
101 require.NotNil(t, act.End, msg...)
102 require.Equal(t, exp.End.Line, act.End.Line, msg...)
103 require.Equal(t, exp.End.Column, act.End.Column, msg...)
104
105 require.NotNil(t, act.Range, msg...)
106 require.Equal(t, exp.Range.Start, act.Range.Start, msg...)
107 require.Equal(t, exp.Range.End, act.Range.End, msg...)
108 }
109}
110
111// RunSplitTests loads YAML test cases and runs them against a SplitSQL function.
112// For engines with dual implementations (lexer and parser), it enforces that

Callers 1

runSingleTestFunction · 0.85

Calls 2

BaseLineMethod · 0.80
EqualMethod · 0.65

Tested by

no test coverage detected