You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.2 KiB
46 lines
1.2 KiB
package node
|
|
|
|
import (
|
|
"harmony-benchmark/consensus"
|
|
"harmony-benchmark/p2p"
|
|
"testing"
|
|
)
|
|
|
|
func TestNewNewNode(test *testing.T) {
|
|
leader := p2p.Peer{Ip: "1", Port: "2"}
|
|
validator := p2p.Peer{Ip: "3", Port: "5"}
|
|
consensus := consensus.NewConsensus("1", "2", "0", []p2p.Peer{leader, validator}, leader)
|
|
|
|
node := NewNode(&consensus)
|
|
if node.consensus == nil {
|
|
test.Error("Consensus is not initialized for the node")
|
|
}
|
|
|
|
if node.blockchain == nil {
|
|
test.Error("Blockchain is not initialized for the node")
|
|
}
|
|
|
|
if len(node.blockchain.Blocks) != 1 {
|
|
test.Error("Genesis block is not initialized for the node")
|
|
}
|
|
|
|
if len(node.blockchain.Blocks[0].Transactions) != 1 {
|
|
test.Error("Coinbase TX is not initialized for the node")
|
|
}
|
|
|
|
if node.UtxoPool == nil {
|
|
test.Error("Utxo pool is not initialized for the node")
|
|
}
|
|
}
|
|
|
|
func TestCountNumTransactionsInBlockchain(test *testing.T) {
|
|
leader := p2p.Peer{Ip: "1", Port: "2"}
|
|
validator := p2p.Peer{Ip: "3", Port: "5"}
|
|
consensus := consensus.NewConsensus("1", "2", "0", []p2p.Peer{leader, validator}, leader)
|
|
|
|
node := NewNode(&consensus)
|
|
node.AddMoreFakeTransactions(1000)
|
|
if node.countNumTransactionsInBlockchain() != 1001 {
|
|
test.Error("Count of transactions in the blockchain is incorrect")
|
|
}
|
|
}
|
|
|