@@ -39,5 +39,53 @@ public void StringSqlType()
3939 column . Length = 100 ;
4040 Assert . AreEqual ( "NVARCHAR(100)" , column . GetSqlType ( _dialect , null ) ) ;
4141 }
42+
43+
44+ [ TestCase ( "xxxxyyyyz" ) ]
45+ [ TestCase ( "xxxxyyyyzz" ) ]
46+ [ TestCase ( "xxxxyyyyzzz" ) ]
47+ [ TestCase ( "xxxxyyy4z" , Description = "Non-letter digit character would be cut, make sure we don't skip length check." ) ]
48+ [ TestCase ( "xxxxyyyz4z" , Description = "Non-letter digit character would be cut, make sure we don't skip length check." ) ]
49+ [ TestCase ( "xxxxyyyzz4z" , Description = "Non-letter digit character would be cut, make sure we don't skip length check." ) ]
50+ [ TestCase ( "xxxxyyyy4" , Description = "Non-letter digit character would be cut, make sure we don't skip length check." ) ]
51+ [ TestCase ( "xxxxyyyyz4" , Description = "Non-letter digit character would be cut, make sure we don't skip length check." ) ]
52+ [ TestCase ( "xxxxyyyyzz4" , Description = "Non-letter digit character would be cut, make sure we don't skip length check." ) ]
53+ public void GetAliasRespectsMaxAliasLength ( string columnName )
54+ {
55+ var dialect = new GenericDialect ( ) ;
56+
57+ // Verify test case assumption.
58+ Assert . That ( dialect . MaxAliasLength , Is . EqualTo ( 10 ) ) ;
59+
60+ var column = new Column ( columnName ) ;
61+ string generatedAlias = column . GetAlias ( dialect ) ;
62+
63+ Assert . That ( generatedAlias , Has . Length . LessThanOrEqualTo ( dialect . MaxAliasLength ) ) ;
64+ }
65+
66+
67+ [ TestCase ( "xxxxyyyyz" ) ]
68+ [ TestCase ( "xxxxyyyyzz" ) ]
69+ [ TestCase ( "xxxxyyyyzzz" ) ]
70+ [ TestCase ( "xxxxyyy4z" ) ]
71+ [ TestCase ( "xxxxyyyz4z" ) ]
72+ [ TestCase ( "xxxxyyyzz4z" ) ]
73+ [ TestCase ( "xxxxyyyy4" ) ]
74+ [ TestCase ( "xxxxyyyyz4" ) ]
75+ [ TestCase ( "xxxxyyyyzz4" ) ]
76+ public void GetAliasWithTableSuffixRespectsMaxAliasLength ( string columnName )
77+ {
78+ var dialect = new GenericDialect ( ) ;
79+
80+ // Verify test case assumption.
81+ Assert . That ( dialect . MaxAliasLength , Is . EqualTo ( 10 ) ) ;
82+
83+ var table = new Table ( ) ;
84+ var column = new Column ( columnName ) ;
85+
86+ string generatedAlias = column . GetAlias ( dialect , table ) ;
87+
88+ Assert . That ( generatedAlias , Has . Length . LessThanOrEqualTo ( dialect . MaxAliasLength ) ) ;
89+ }
4290 }
43- }
91+ }
0 commit comments