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)
10
11func TestGenerateTestL2Txs(t *testing.T) {
12 s := `
13 A (1): 10
14 A (2): 20
15 B (1): 5
16 A-B (1): 6 1
17 B-C (1): 3 1
18 > advance batch
19 C-A (1): 3 1
20 A-B (1): 1 1
21 A-B (2): 15 1
22 User0 (1): 20
23 User1 (3) : 20
24 User0-User1 (1): 15 1
25 User1-User0 (3): 15 1
26 B-D (2): 3 1
27 `
28 parser := NewParser(strings.NewReader(s))
29 instructions, err := parser.Parse()
30 assert.Nil(t, err)
31
32 l1txs, coordinatorL1txs, l2txs, _ := GenerateTestTxs(t, instructions)
33 assert.Equal(t, 2, len(l1txs))
34 assert.Equal(t, 3, len(l1txs[0]))
35 assert.Equal(t, 1, len(coordinatorL1txs[0]))
36 assert.Equal(t, 2, len(l2txs[0]))
37 assert.Equal(t, 2, len(l1txs[1]))
38 assert.Equal(t, 4, len(coordinatorL1txs[1]))
39 assert.Equal(t, 6, len(l2txs[1]))
40
41 // l1txs
42 assert.Equal(t, common.TxTypeCreateAccountDeposit, l1txs[0][0].Type)
43 assert.Equal(t, "5bac784d938067d980a9d39bdd79bf84a0cbb296977c47cc30de2d5ce9229d2f", l1txs[0][0].FromBJJ.String())
44 assert.Equal(t, "323ff10c28df37ecb787fe216e111db64aa7cfa2c517509fe0057ff08a10b30c", l1txs[0][1].FromBJJ.String())
45 assert.Equal(t, "f3587ad5cc7414a47545770b6c75bc71930f63c491eb2294dde8b8a6670b8e96", l1txs[0][2].FromBJJ.String())
46 assert.Equal(t, "750a24a874a81c6c6f8aaa168ff2ee88c58263fee9ddd96d9717bcffc809b027", l1txs[1][1].FromBJJ.String())
47
48 // l2txs
49 assert.Equal(t, common.TxTypeTransfer, l2txs[0][0].Type)
50 assert.Equal(t, common.Idx(1), l2txs[0][0].FromIdx)
51 assert.Equal(t, common.Idx(3), l2txs[0][0].ToIdx)
52 assert.Equal(t, "f3587ad5cc7414a47545770b6c75bc71930f63c491eb2294dde8b8a6670b8e96", l2txs[0][0].ToBJJ.String())
53 assert.Equal(t, "0x6813Eb9362372EEF6200f3b1dbC3f819671cBA69", l2txs[0][0].ToEthAddr.Hex())
54 assert.Equal(t, common.Nonce(0), l2txs[0][0].Nonce)
55 assert.Equal(t, common.Nonce(1), l2txs[1][1].Nonce)
56 assert.Equal(t, common.FeeSelector(1), l2txs[0][0].Fee)
57}