mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 02:12:23 +00:00
live: add testcase
Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
parent
1d460503da
commit
be482aecc4
1 changed files with 89 additions and 0 deletions
89
eth/tracers/live/filter_api_test.go
Normal file
89
eth/tracers/live/filter_api_test.go
Normal file
|
|
@ -0,0 +1,89 @@
|
||||||
|
package live
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func testGen(blknum uint64) ([]interface{}, error) {
|
||||||
|
traces := make([]interface{}, 5)
|
||||||
|
for i := range traces {
|
||||||
|
traces[i] = int(blknum*5) + i
|
||||||
|
}
|
||||||
|
return traces, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestExportLimitedTraces(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
fromBlock uint64
|
||||||
|
toBlock uint64
|
||||||
|
count uint64
|
||||||
|
after uint64
|
||||||
|
want []int
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "Basic Test",
|
||||||
|
fromBlock: 0,
|
||||||
|
toBlock: 2,
|
||||||
|
count: 10,
|
||||||
|
after: 0,
|
||||||
|
want: []int{
|
||||||
|
0, 1, 2, 3, 4, // the first block
|
||||||
|
5, 6, 7, 8, 9, // the second block
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "With After",
|
||||||
|
fromBlock: 0,
|
||||||
|
toBlock: 0,
|
||||||
|
count: 3,
|
||||||
|
after: 2,
|
||||||
|
want: []int{
|
||||||
|
2, // the first block left
|
||||||
|
3, 4, // the second block
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "With After",
|
||||||
|
fromBlock: 0,
|
||||||
|
toBlock: 0,
|
||||||
|
count: 3,
|
||||||
|
after: 2,
|
||||||
|
want: []int{
|
||||||
|
2, // the first block left
|
||||||
|
3, 4, // the second block
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
name: "Not Enough Traces",
|
||||||
|
fromBlock: 0,
|
||||||
|
toBlock: 0,
|
||||||
|
count: 10,
|
||||||
|
after: 5,
|
||||||
|
want: nil,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
have, err := exportLimitedTraces(testGen, tt.fromBlock, tt.toBlock, tt.count, tt.after)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if hl, wl := len(have), len(tt.want); hl != wl {
|
||||||
|
t.Errorf("test(%s) exported len not equal, have %d, want %d", tt.name, hl, wl)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
for i := range have {
|
||||||
|
if h, w := have[i].(int), tt.want[i]; h != w {
|
||||||
|
t.Errorf("test(%s) result not equal have %v want %v at index %d", tt.name, h, w, i)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue