...

Source file src/go.einride.tech/aip/reflect/aipreflect/grammaticalname_test.go

Documentation: go.einride.tech/aip/reflect/aipreflect

     1  package aipreflect
     2  
     3  import (
     4  	"testing"
     5  
     6  	"gotest.tools/v3/assert"
     7  )
     8  
     9  func TestGrammaticalName_Validate(t *testing.T) {
    10  	t.Parallel()
    11  	for _, tt := range []struct {
    12  		name          string
    13  		errorContains string
    14  	}{
    15  		{name: "", errorContains: "must be non-empty"},
    16  		{name: "users"},
    17  		{name: "userEvents"},
    18  		{name: "UserEvents", errorContains: "must be lowerCamelCase"},
    19  		{name: "user events", errorContains: "contains forbidden character ' '"},
    20  	} {
    21  		tt := tt
    22  		t.Run(tt.name, func(t *testing.T) {
    23  			t.Parallel()
    24  			err := GrammaticalName(tt.name).Validate()
    25  			if tt.errorContains != "" {
    26  				assert.ErrorContains(t, err, tt.errorContains)
    27  			} else {
    28  				assert.NilError(t, err)
    29  			}
    30  		})
    31  	}
    32  }
    33  

View as plain text