Skip to content

Commit 82c104c

Browse files
committed
ColumnFixture: Failing test case for NH-3899 (overly long alias names).
1 parent 3d6305e commit 82c104c

File tree

1 file changed

+49
-1
lines changed

1 file changed

+49
-1
lines changed

src/NHibernate.Test/MappingTest/ColumnFixture.cs

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)