...

Source file src/github.com/gobuffalo/flect/pluralize_test.go

Documentation: github.com/gobuffalo/flect

     1  package flect
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  )
     8  
     9  func Test_Pluralize(t *testing.T) {
    10  	for _, tt := range singlePluralAssertions {
    11  		if tt.doPluralizeTest {
    12  			t.Run(tt.singular, func(st *testing.T) {
    13  				r := require.New(st)
    14  				r.Equal(tt.plural, Pluralize(tt.singular), "pluralize %s", tt.singular)
    15  				r.Equal(tt.plural, Pluralize(tt.plural), "pluralize %s", tt.plural)
    16  			})
    17  		}
    18  	}
    19  }
    20  
    21  func Test_PluralizeWithSize(t *testing.T) {
    22  	for _, tt := range singlePluralAssertions {
    23  		t.Run(tt.singular, func(st *testing.T) {
    24  			r := require.New(st)
    25  			if tt.doSingularizeTest {
    26  				r.Equal(tt.singular, PluralizeWithSize(tt.singular, -1), "pluralize %d %s", -1, tt.singular)
    27  				r.Equal(tt.singular, PluralizeWithSize(tt.plural, -1), "pluralize %d %s", -1, tt.plural)
    28  				r.Equal(tt.singular, PluralizeWithSize(tt.singular, 1), "pluralize %d %s", 1, tt.singular)
    29  				r.Equal(tt.singular, PluralizeWithSize(tt.plural, 1), "pluralize %d %s", 1, tt.plural)
    30  			}
    31  			if tt.doPluralizeTest {
    32  				r.Equal(tt.plural, PluralizeWithSize(tt.singular, -2), "pluralize %d %s", -2, tt.singular)
    33  				r.Equal(tt.plural, PluralizeWithSize(tt.plural, -2), "pluralize %d %s", -2, tt.plural)
    34  				r.Equal(tt.plural, PluralizeWithSize(tt.singular, 0), "pluralize %d %s", 0, tt.singular)
    35  				r.Equal(tt.plural, PluralizeWithSize(tt.plural, 0), "pluralize %d %s", 0, tt.plural)
    36  				r.Equal(tt.plural, PluralizeWithSize(tt.singular, 2), "pluralize %d %s", 2, tt.singular)
    37  				r.Equal(tt.plural, PluralizeWithSize(tt.plural, 2), "pluralize %d %s", 2, tt.plural)
    38  			}
    39  		})
    40  	}
    41  }
    42  
    43  func BenchmarkPluralize(b *testing.B) {
    44  	for n := 0; n < b.N; n++ {
    45  		for _, tt := range singlePluralAssertions {
    46  			if tt.doPluralizeTest {
    47  				Pluralize(tt.singular)
    48  				Pluralize(tt.plural)
    49  			}
    50  		}
    51  	}
    52  }
    53  

View as plain text