aboutsummaryrefslogtreecommitdiffstats
path: root/merkle_test.go
diff options
context:
space:
mode:
authorThibaut Horel <thibaut.horel@gmail.com>2016-05-04 15:54:19 -0400
committerThibaut Horel <thibaut.horel@gmail.com>2016-05-04 15:54:19 -0400
commit7943430749a22e6f26aa16ca2c48e97e9277998f (patch)
tree51a4d95e987d60f1b2936d5a5da9f5040efdf835 /merkle_test.go
downloadpos-7943430749a22e6f26aa16ca2c48e97e9277998f.tar.gz
Initial commit
Diffstat (limited to 'merkle_test.go')
-rw-r--r--merkle_test.go34
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)
+ }
+ }
+}