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  }