提交 fcdf5273 作者: Jakub Sztandera

test: 82% coverage on blocks

License: MIT
Signed-off-by: 's avatarJakub Sztandera <kubuxu@protonmail.ch>
上级 685cd28d
package blocks package blocks
import "testing" import (
"bytes"
"testing"
mh "gx/ipfs/QmYf7ng2hG5XBtJA3tN34DQ2GUN5HNksEw1rLDkmr6vGku/go-multihash"
u "gx/ipfs/QmZNVWh8LLjAavuQ2JXuFmuYH3C11xo988vSgp7UQrTRj1/go-ipfs-util"
)
func TestBlocksBasic(t *testing.T) { func TestBlocksBasic(t *testing.T) {
...@@ -14,3 +20,77 @@ func TestBlocksBasic(t *testing.T) { ...@@ -14,3 +20,77 @@ func TestBlocksBasic(t *testing.T) {
// Test some data // Test some data
NewBlock([]byte("Hello world!")) NewBlock([]byte("Hello world!"))
} }
func TestData(t *testing.T) {
data := []byte("some data")
block := NewBlock(data)
if !bytes.Equal(block.Data(), data) {
t.Error("data is wrong")
}
}
func TestHash(t *testing.T) {
data := []byte("some other data")
block := NewBlock(data)
hash, err := mh.Sum(data, mh.SHA2_256, -1)
if err != nil {
t.Fatal(err)
}
if !bytes.Equal(block.Multihash(), hash) {
t.Error("wrong multihash")
}
}
func TestKey(t *testing.T) {
data := []byte("yet another data")
block := NewBlock(data)
key := block.Key()
if !bytes.Equal(block.Multihash(), key.ToMultihash()) {
t.Error("key contains wrong data")
}
}
func TestManualHash(t *testing.T) {
oldDebugState := u.Debug
defer (func() {
u.Debug = oldDebugState
})()
data := []byte("I can't figure out more names .. data")
hash, err := mh.Sum(data, mh.SHA2_256, -1)
if err != nil {
t.Fatal(err)
}
u.Debug = false
block, err := NewBlockWithHash(data, hash)
if err != nil {
t.Fatal(err)
}
if !bytes.Equal(block.Multihash(), hash) {
t.Error("wrong multihash")
}
data[5] = byte((uint32(data[5]) + 5) % 256) // Transfrom hash to be different
block, err = NewBlockWithHash(data, hash)
if err != nil {
t.Fatal(err)
}
if !bytes.Equal(block.Multihash(), hash) {
t.Error("wrong multihash")
}
u.Debug = true
block, err = NewBlockWithHash(data, hash)
if err == nil {
t.Fatal(err)
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论