block_processor_test.go 971 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package core
  2. import (
  3. "math/big"
  4. "testing"
  5. "github.com/ethereum/go-ethereum/common"
  6. "github.com/ethereum/go-ethereum/ethdb"
  7. "github.com/ethereum/go-ethereum/event"
  8. "github.com/ethereum/go-ethereum/pow/ezp"
  9. )
  10. func proc() (*BlockProcessor, *ChainManager) {
  11. db, _ := ethdb.NewMemDatabase()
  12. var mux event.TypeMux
  13. chainMan := NewChainManager(db, db, thePow(), &mux)
  14. return NewBlockProcessor(db, db, ezp.New(), nil, chainMan, &mux), chainMan
  15. }
  16. func TestNumber(t *testing.T) {
  17. bp, chain := proc()
  18. block1 := chain.NewBlock(common.Address{})
  19. block1.Header().Number = big.NewInt(3)
  20. block1.Header().Time--
  21. err := bp.ValidateHeader(block1.Header(), chain.Genesis().Header(), false)
  22. if err != BlockNumberErr {
  23. t.Errorf("expected block number error %v", err)
  24. }
  25. block1 = chain.NewBlock(common.Address{})
  26. err = bp.ValidateHeader(block1.Header(), chain.Genesis().Header(), false)
  27. if err == BlockNumberErr {
  28. t.Errorf("didn't expect block number error")
  29. }
  30. }