commit inicial do projeto
This commit is contained in:
54
internal/transactions/mempool_test.go
Normal file
54
internal/transactions/mempool_test.go
Normal file
@ -0,0 +1,54 @@
|
||||
package transactions_test
|
||||
|
||||
import (
|
||||
"dejo_node/internal/transactions"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestMempool_AddAndGet(t *testing.T) {
|
||||
pool := transactions.NewMempool()
|
||||
tx := &transactions.Transaction{
|
||||
From: "0xabc",
|
||||
To: "0xdef",
|
||||
Nonce: 1,
|
||||
Value: 10,
|
||||
Gas: 1,
|
||||
Signature: "sig",
|
||||
}
|
||||
|
||||
err := pool.Add(tx)
|
||||
if err != nil {
|
||||
t.Fatalf("erro ao adicionar transação: %v", err)
|
||||
}
|
||||
|
||||
txs := pool.All()
|
||||
if len(txs) != 1 {
|
||||
t.Errorf("esperava 1 transação, obteve %d", len(txs))
|
||||
}
|
||||
|
||||
if !pool.Has(tx.Hash()) {
|
||||
t.Error("transação deveria existir na mempool")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMempool_Duplicates(t *testing.T) {
|
||||
pool := transactions.NewMempool()
|
||||
tx := &transactions.Transaction{From: "0xaaa", Nonce: 1}
|
||||
|
||||
_ = pool.Add(tx)
|
||||
err := pool.Add(tx)
|
||||
if err == nil {
|
||||
t.Error("esperava erro de transação duplicada")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMempool_Remove(t *testing.T) {
|
||||
pool := transactions.NewMempool()
|
||||
tx := &transactions.Transaction{From: "0xaaa", Nonce: 2}
|
||||
_ = pool.Add(tx)
|
||||
|
||||
pool.Remove(tx.Hash())
|
||||
if pool.Has(tx.Hash()) {
|
||||
t.Error("transação ainda existe após remoção")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user