github.com/frostornge/solgen@v0.1.3/proto/message_test.go (about) 1 package proto 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestMessage_PrintMessageSimple(t *testing.T) { 10 msg := message{ 11 Comment: "frostornge", 12 Name: "airbloc", 13 Args: []argument{ 14 { 15 Name: "messageArg3", 16 Repeated: true, 17 Type: "uint64", 18 Count: 1, 19 }, 20 }, 21 } 22 23 expected := "// frostornge\n" + 24 "message airbloc {\n\t" + 25 "repeated uint64 messageArg3 = 1;\n}\n" 26 assert.Equal(t, expected, msg.PrintMessage()) 27 } 28 29 func TestMessage_PrintMessageNested(t *testing.T) { 30 msg := message{ 31 Comment: "frostornge", 32 Name: "airbloc", 33 Msgs: []message{ 34 { 35 Comment: "test struct", 36 Name: "struct", 37 Args: []argument{ 38 { 39 Name: "structArg1", 40 Repeated: true, 41 Type: "string", 42 Count: 1, 43 }, 44 }, 45 }, 46 }, 47 Args: []argument{ 48 { 49 Name: "messageArg3", 50 Repeated: true, 51 Type: "uint64", 52 Count: 1, 53 }, 54 }, 55 } 56 57 expected := "// frostornge\n" + 58 "message airbloc {\n\t" + 59 "// test struct\n\t" + 60 "message struct {\n\t\t" + 61 "repeated string structArg1 = 1;\n\t}\n\t" + 62 "repeated uint64 messageArg3 = 1;\n}\n" 63 assert.Equal(t, expected, msg.PrintMessage()) 64 }