MCPcopy Create free account
hub / github.com/KhronosGroup/SPIRV-Tools / VerifyMatch

Function VerifyMatch

test/diff/lcs_test.cpp:28–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26using LCS = LongestCommonSubsequence<Sequence>;
27
28void VerifyMatch(const Sequence& src, const Sequence& dst,
29 size_t expected_match_count) {
30 DiffMatch src_match, dst_match;
31
32 LCS lcs(src, dst);
33 size_t match_count =
34 lcs.Get<int>([](int s, int d) { return s == d; }, &src_match, &dst_match);
35
36 EXPECT_EQ(match_count, expected_match_count);
37
38 size_t src_cur = 0;
39 size_t dst_cur = 0;
40 size_t matches_seen = 0;
41
42 while (src_cur < src.size() && dst_cur < dst.size()) {
43 if (src_match[src_cur] && dst_match[dst_cur]) {
44 EXPECT_EQ(src[src_cur], dst[dst_cur])
45 << "Src: " << src_cur << " Dst: " << dst_cur;
46 ++src_cur;
47 ++dst_cur;
48 ++matches_seen;
49 continue;
50 }
51 if (!src_match[src_cur]) {
52 ++src_cur;
53 }
54 if (!dst_match[dst_cur]) {
55 ++dst_cur;
56 }
57 }
58
59 EXPECT_EQ(matches_seen, expected_match_count);
60}
61
62TEST(LCSTest, EmptySequences) {
63 Sequence src, dst;

Callers 1

TESTFunction · 0.85

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected