hermez-node/test/txs_test.go
test/txs_test.goRaw
1package test
2
3import (
4 "strings"
5 "testing"
6
7 "github.com/hermeznetwork/hermez-node/common"
8 "github.com/stretchr/testify/assert"
9 "github.com/stretchr/testify/require"
10)
11
12func TestGenerateTestL2Txs(t *testing.T) {
13 s := `
14 A (1): 10
15 A (2): 20
16 B (1): 5
17 A-B (1): 6 1
18 B-C (1): 3 1
19 C-A (1): 3 1
20 A-B (2): 15 1
21 User0 (1): 20
22 User1 (3) : 20
23 User0-User1 (1): 15 1
24 User1-User0 (3): 15 1
25 `
26 parser := NewParser(strings.NewReader(s))
27 instructions, err := parser.Parse()
28 assert.Nil(t, err)
29
30 l1txs, l2txs := GenerateTestTxs(t, instructions)
31 require.Equal(t, 5, len(l1txs))
32 require.Equal(t, 6, len(l2txs))
33
34 // l1txs
35 assert.Equal(t, common.TxTypeCreateAccountDeposit, l1txs[0].Type)
36 assert.Equal(t, "5bac784d938067d980a9d39bdd79bf84a0cbb296977c47cc30de2d5ce9229d2f", l1txs[0].FromBJJ.String())
37 assert.Equal(t, "5bac784d938067d980a9d39bdd79bf84a0cbb296977c47cc30de2d5ce9229d2f", l1txs[1].FromBJJ.String())
38 assert.Equal(t, "323ff10c28df37ecb787fe216e111db64aa7cfa2c517509fe0057ff08a10b30c", l1txs[2].FromBJJ.String())
39 assert.Equal(t, "a25c7150609ecfcf90fc3f419474e8bc28ea5978df1b0a68339bff884c117e19", l1txs[4].FromBJJ.String())
40
41 // l2txs
42 assert.Equal(t, common.TxTypeTransfer, l2txs[0].Type)
43 assert.Equal(t, common.Idx(1), l2txs[0].FromIdx)
44 assert.Equal(t, common.Idx(2), l2txs[0].ToIdx)
45 assert.Equal(t, "323ff10c28df37ecb787fe216e111db64aa7cfa2c517509fe0057ff08a10b30c", l2txs[0].ToBJJ.String())
46 assert.Equal(t, "0x2B5AD5c4795c026514f8317c7a215E218DcCD6cF", l2txs[0].ToEthAddr.Hex())
47 assert.Equal(t, uint64(0), l2txs[0].Nonce)
48 assert.Equal(t, uint64(1), l2txs[3].Nonce)
49 assert.Equal(t, common.FeeSelector(1), l2txs[0].Fee)
50}