Skip to content

Commit 86fccf0

Browse files
committed
Add non-zero starting cases to TestRefSubtreeConsistencyProof
1 parent 417fb0c commit 86fccf0

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

testonly/reference_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,34 @@ func TestRefSubtreeConsistencyProof(t *testing.T) {
304304
hd("ca854ea128ed050b41b35ffc1b87b8eb2bde461e9e3b5596ece6b9d5975a0ae0"),
305305
hd("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7"),
306306
}},
307+
// Non-zero starting subtrees:
308+
// Right half [4, 8) in size 8 requires the root of the left half [0, 4).
309+
{start: 4, end: 8, size: 8, known: true, want: [][]byte{
310+
hd("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7"),
311+
}},
312+
// Subtree of size 1 not starting at 0 ([4, 5) in size 8):
313+
{start: 4, end: 5, size: 8, known: true, want: [][]byte{
314+
hd("4271a26be0d8a84f0bd54c8c302e7cb3a3b5d1fa6780a40bcce2873477dab658"),
315+
hd("ca854ea128ed050b41b35ffc1b87b8eb2bde461e9e3b5596ece6b9d5975a0ae0"),
316+
hd("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7"),
317+
}},
318+
// Subtree ending at size not starting at 0 ([6, 8) in size 8):
319+
{start: 6, end: 8, size: 8, known: true, want: [][]byte{
320+
hd("0ebc5d3437fbe2db158b9f126a1d118e308181031d0a949f8dededebc558ef6a"),
321+
hd("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7"),
322+
}},
323+
// Perfect subtree not starting at 0, not ending at size ([2, 4) in size 8):
324+
{start: 2, end: 4, size: 8, known: true, want: [][]byte{
325+
hd("fac54203e7cc696cf0dfcb42c92a1d9dbaf70ad9e621f4bd8d98662f00e3c125"),
326+
hd("6b47aaf29ee3c2af9af889bc1fb9254dabd31177f16232dd6aab035ca39bf6e4"),
327+
}},
328+
// Imperfect subtree not starting at 0, not ending at size ([4, 7) in size 8):
329+
{start: 4, end: 7, size: 8, known: true, want: [][]byte{
330+
hd("b08693ec2e721597130641e8211e7eedccb4c26413963eee6c1e2ed16ffb1a5f"),
331+
hd("46f6ffadd3d06a09ff3c5860d2755c8b9819db7df44251788c7d8e3180de8eb1"),
332+
hd("0ebc5d3437fbe2db158b9f126a1d118e308181031d0a949f8dededebc558ef6a"),
333+
hd("d37ee418976dd95753c1c73862b9398fa2a2cf9b4ff0fdfe8b30cd95209614b7"),
334+
}},
307335
} {
308336
t.Run(fmt.Sprintf("start:%d end:%d size:%d known:%t", tc.start, tc.end, tc.size, tc.known), func(t *testing.T) {
309337
got := refSubtreeConsistencyProof(tc.start, tc.end, entries[:tc.size], tc.known, hasher)

0 commit comments

Comments
 (0)