From: <fab...@us...> - 2011-03-24 21:46:47
|
Revision: 5525 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5525&view=rev Author: fabiomaulo Date: 2011-03-24 21:46:41 +0000 (Thu, 24 Mar 2011) Log Message: ----------- Minor (passing test) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Mapping/Table.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1399/Fixture.cs Modified: trunk/nhibernate/src/NHibernate/Mapping/Table.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Mapping/Table.cs 2011-03-24 21:07:55 UTC (rev 5524) +++ trunk/nhibernate/src/NHibernate/Mapping/Table.cs 2011-03-24 21:46:41 UTC (rev 5525) @@ -804,7 +804,7 @@ public string UniqueColumnString(IEnumerable iterator, string referencedEntityName) { - // NH Different implementation (NH-1339) + // NH Different implementation (NH-1399) int result = 37; if (referencedEntityName != null) { Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1399/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1399/Fixture.cs 2011-03-24 21:07:55 UTC (rev 5524) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1399/Fixture.cs 2011-03-24 21:46:41 UTC (rev 5525) @@ -1,5 +1,6 @@ using NHibernate.Mapping; using NUnit.Framework; +using SharpTestsEx; namespace NHibernate.Test.NHSpecificTest.NH1399 { @@ -17,5 +18,29 @@ string t2Fk = table1.UniqueColumnString(new object[] { table1ITestManyB }, "BluewireTechnologies.Core.Framework.DynamicTypes2.Albatross.ITestManyB"); Assert.AreNotEqual(t1Fk, t2Fk, "Different columns in differents tables create the same FK name."); } + + [Test] + public void UsingTwoInstancesWithSameValuesTheFkNameIsTheSame() + { + // This test is to be sure that an eventual SchemaUpdate will find the FK with the same name + // The FK name should not use values depending on instence, istead should use values depending on table/columns names. + Table table1 = new Table("ATABLE"); + + Column table1ITestManyA = new Column("itestmanyaid"); + Column table1ITestManyB = new Column("itestmanybid"); + string t1Fk = table1.UniqueColumnString(new object[] { table1ITestManyA }, "BluewireTechnologies.Core.Framework.DynamicTypes2.Albatross.ITestManyA"); + string t2Fk = table1.UniqueColumnString(new object[] { table1ITestManyB }, "BluewireTechnologies.Core.Framework.DynamicTypes2.Albatross.ITestManyB"); + + + Table table1_ = new Table("ATABLE"); + + Column table1ITestManyA_ = new Column("itestmanyaid"); + Column table1ITestManyB_ = new Column("itestmanybid"); + string t1Fk_ = table1_.UniqueColumnString(new object[] { table1ITestManyA_ }, "BluewireTechnologies.Core.Framework.DynamicTypes2.Albatross.ITestManyA"); + string t2Fk_ = table1_.UniqueColumnString(new object[] { table1ITestManyB_ }, "BluewireTechnologies.Core.Framework.DynamicTypes2.Albatross.ITestManyB"); + + t1Fk_.Should().Be.EqualTo(t1Fk); + t2Fk_.Should().Be.EqualTo(t2Fk); + } } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |