diff options
Diffstat (limited to 'merkle_test.go')
| -rw-r--r-- | merkle_test.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/merkle_test.go b/merkle_test.go new file mode 100644 index 0000000..c486dc1 --- /dev/null +++ b/merkle_test.go @@ -0,0 +1,34 @@ +package main + +import ( + "bytes" + "testing" +) + +func testMerkle(mtype string) bool { + m := NewMerkle(mtype, 4, "test.db") + root := m.Build() + id := m.Size() / 2 + proof := m.Proof(id) + v := verify(id, proof) + if !bytes.Equal(v, root) { + return false + } + + id = m.Size()/2 + 1 + proof = m.Proof(id) + v = verify(id, proof) + if !bytes.Equal(v, root) { + return false + } + return true +} + +func TestMerkle(t *testing.T) { + tests := []string{"bfs", "post"} + for _, test := range tests { + if !testMerkle(test) { + t.Error(test) + } + } +} |
