neo-go/pkg/consensus/block_test.go

51 lines
1.2 KiB
Go
Raw Normal View History

2019-11-15 10:32:40 +00:00
package consensus
import (
"crypto/rand"
"testing"
"github.com/nspcc-dev/dbft/block"
"github.com/nspcc-dev/dbft/crypto"
"github.com/nspcc-dev/neo-go/pkg/core/transaction"
"github.com/nspcc-dev/neo-go/pkg/util"
2019-11-15 10:32:40 +00:00
"github.com/stretchr/testify/require"
)
func TestNeoBlock_Sign(t *testing.T) {
b := new(neoBlock)
priv, pub := crypto.Generate(rand.Reader)
require.NoError(t, b.Sign(priv))
require.NoError(t, b.Verify(pub, b.Signature()))
}
func TestNeoBlock_Setters(t *testing.T) {
b := new(neoBlock)
b.Block.Version = 1
2019-11-15 10:32:40 +00:00
require.EqualValues(t, 1, b.Version())
b.Block.Index = 12
2019-11-15 10:32:40 +00:00
require.EqualValues(t, 12, b.Index())
b.Block.Timestamp = 777
require.EqualValues(t, 777*1000000000, b.Timestamp()) // Nanoseconds.
2019-11-15 10:32:40 +00:00
b.Block.ConsensusData = 456
2019-11-15 10:32:40 +00:00
require.EqualValues(t, 456, b.ConsensusData())
b.Block.MerkleRoot = util.Uint256{1, 2, 3, 4}
2019-11-15 10:32:40 +00:00
require.Equal(t, util.Uint256{1, 2, 3, 4}, b.MerkleRoot())
b.Block.NextConsensus = util.Uint160{9, 2}
2019-11-15 10:32:40 +00:00
require.Equal(t, util.Uint160{9, 2}, b.NextConsensus())
b.Block.PrevHash = util.Uint256{9, 8, 7}
2019-11-15 10:32:40 +00:00
require.Equal(t, util.Uint256{9, 8, 7}, b.PrevHash())
tx := newMinerTx(123)
txx := []block.Transaction{tx}
b.Block.Transactions = []*transaction.Transaction{tx}
2019-11-15 10:32:40 +00:00
require.Equal(t, txx, b.Transactions())
}