|
|
package core
import ( "testing" "time"
"github.com/stretchr/testify/assert" )
func TestBlock(t *testing.T) { block := &Block{ PrevHash: HashBytes([]byte("prevhash")), NextHash: HashBytes([]byte("nextHash")), Txs: []Tx{}, Miner: Address(HashBytes([]byte("addrfromminer"))), Timestamp: time.Now(), Nonce: 0, Hash: HashBytes([]byte("blockhash")), }
block, err := BlockFromBytes(block.Bytes()) assert.Nil(t, err) assert.Equal(t, block.Bytes(), block.Bytes())
difficulty := 2 nonce, err := CalculatePoW(block, difficulty) assert.Nil(t, err) block.Nonce = nonce h := HashBytes(block.Bytes())
// CheckPoW
assert.True(t, CheckPoW(h, difficulty)) }
func TestNewBlock(t *testing.T) { block := &Block{ PrevHash: HashBytes([]byte("prevhash")), NextHash: HashBytes([]byte("nextHash")), Txs: []Tx{}, Miner: Address(HashBytes([]byte("addrfromminer"))), Timestamp: time.Now(), Nonce: 0, Hash: HashBytes([]byte("blockhash")), }
block2, err := BlockFromBytes(block.Bytes()) assert.Nil(t, err) assert.Equal(t, block2.Bytes(), block.Bytes())
difficulty := 2 nonce, err := CalculatePoW(block, difficulty) assert.Nil(t, err) block.Nonce = nonce h := HashBytes(block.Bytes())
// CheckPoW
assert.True(t, CheckPoW(h, difficulty)) }
func TestTx(t *testing.T) { addr0 := Address(HashBytes([]byte("addr0"))) addr1 := Address(HashBytes([]byte("addr1")))
tx := NewTx(addr0, addr1, []Input{}, []Output{})
assert.Equal(t, tx.From, addr0) assert.Equal(t, tx.To, addr1) }
|