From: <fab...@us...> - 2011-07-09 20:30:48
|
Revision: 5977 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5977&view=rev Author: fabiomaulo Date: 2011-07-09 20:30:42 +0000 (Sat, 09 Jul 2011) Log Message: ----------- Not a real issue was just the mapping; the test is just to have another tests checking FK names generation. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/A.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/A.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/B.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/B.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/C.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/C.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/Fixture.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/A.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/A.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/A.cs 2011-07-09 20:30:42 UTC (rev 5977) @@ -0,0 +1,73 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2761 +{ + public class A + { + public Int32 Id + { + get; + set; + } + + public B B + { + get; + set; + } + + public C C + { + get; + set; + } + + public String AProperty + { + get; + set; + } + + public override Int32 GetHashCode() + { + return (this.Id.GetHashCode()); + } + + public override bool Equals(object obj) + { + if (obj == null) + { + return (false); + } + + if (this.GetType() != obj.GetType()) + { + return (false); + } + + A other = obj as A; + + if (Object.Equals(other.Id, this.Id) == false) + { + return (false); + } + + if (Object.Equals(other.AProperty, this.AProperty) == false) + { + return (false); + } + + if (Object.Equals(other.B, this.B) == false) + { + return (false); + } + + if (Object.Equals(other.C, this.C) == false) + { + return (false); + } + + return (true); + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/A.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/A.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/A.hbm.xml 2011-07-09 20:30:42 UTC (rev 5977) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<hibernate-mapping default-lazy="false" + namespace="NHibernate.Test.NHSpecificTest.NH2761" + assembly="NHibernate.Test" + xmlns="urn:nhibernate-mapping-2.2"> + <class name="A" lazy="false" table="`A`"> + <id name="Id" access="property" column="`A_ID`"> + <generator class="hilo" /> + </id> + <property name="AProperty" column="`A_PROPERTY`" length="50"/> + <many-to-one name="B" class="B" column="`B_ID`" not-null="false" /> + <many-to-one name="C" class="C" column="`C_ID`" not-null="false" /> + </class> +</hibernate-mapping> Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/B.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/B.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/B.cs 2011-07-09 20:30:42 UTC (rev 5977) @@ -0,0 +1,68 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2761 +{ + public class B + { + public B() + { + this.As = new Iesi.Collections.Generic.HashedSet<A>(); + } + + public Int32 Id + { + get; + set; + } + + public String BProperty + { + get; + set; + } + + public C C + { + get; + set; + } + + public Iesi.Collections.Generic.ISet<A> As + { + get; + set; + } + + public override Int32 GetHashCode() + { + return (this.Id.GetHashCode()); + } + + public override bool Equals(object obj) + { + if (obj == null) + { + return (false); + } + + if (this.GetType() != obj.GetType()) + { + return (false); + } + + B other = obj as B; + + if (Object.Equals(other.Id, this.Id) == false) + { + return (false); + } + + if (Object.Equals(other.BProperty, this.BProperty) == false) + { + return (false); + } + + return (true); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/B.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/B.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/B.hbm.xml 2011-07-09 20:30:42 UTC (rev 5977) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<hibernate-mapping default-lazy="false" + namespace="NHibernate.Test.NHSpecificTest.NH2761" + assembly="NHibernate.Test" + xmlns="urn:nhibernate-mapping-2.2"> + <class name="B" lazy="false" table="`B`"> + <id name="Id" access="property" column="`B_ID`"> + <generator class="hilo" /> + </id> + <property name="BProperty" column="`B_PROPERTY`" length="50"/> + <set name="As" inverse="true"> + <key column="`B_ID`"/> + <one-to-many class="A"/> + </set> + <many-to-one name="C" class="C" column="`C_ID`" not-null="false" fetch="select"/> + </class> +</hibernate-mapping> Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/C.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/C.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/C.cs 2011-07-09 20:30:42 UTC (rev 5977) @@ -0,0 +1,69 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2761 +{ + public class C + { + public C() + { + this.As = new Iesi.Collections.Generic.HashedSet<A>(); + this.Bs = new Iesi.Collections.Generic.HashedSet<B>(); + } + + public Int32 Id + { + get; + set; + } + + public String CProperty + { + get; + set; + } + + public Iesi.Collections.Generic.ISet<B> Bs + { + get; + set; + } + + public Iesi.Collections.Generic.ISet<A> As + { + get; + set; + } + + public override Int32 GetHashCode() + { + return (this.Id.GetHashCode()); + } + + public override bool Equals(object obj) + { + if (obj == null) + { + return (false); + } + + if (this.GetType() != obj.GetType()) + { + return (false); + } + + C other = obj as C; + + if (Object.Equals(other.Id, this.Id) == false) + { + return (false); + } + + if (Object.Equals(other.CProperty, this.CProperty) == false) + { + return (false); + } + + return (true); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/C.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/C.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/C.hbm.xml 2011-07-09 20:30:42 UTC (rev 5977) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<hibernate-mapping default-lazy="false" + namespace="NHibernate.Test.NHSpecificTest.NH2761" + assembly="NHibernate.Test" + xmlns="urn:nhibernate-mapping-2.2"> + <class name="C" lazy="false" table="`C`"> + <id name="Id" access="property" column="`C_ID`"> + <generator class="hilo" /> + </id> + <property name="CProperty" column="`C_PROPERTY`" length="50"/> + <set name="As" inverse="true" lazy="true"> + <key column="`A_ID`"/> + <one-to-many class="A"/> + </set> + <set name="Bs" inverse="true"> + <key column="`B_ID`"/> + <one-to-many class="B"/> + </set> + </class> +</hibernate-mapping> Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2761/Fixture.cs 2011-07-09 20:30:42 UTC (rev 5977) @@ -0,0 +1,40 @@ +using System.Linq; +using System.Reflection; +using NHibernate.Cfg; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.NHSpecificTest.NH2761 +{ + public class Fixture + { + [Test] + public void WhenMultipleConfigurationUseSameMappingsThenConstraintsHasSameNames() + { + var mappings1 = GetMappings(); + var mappings2 = GetMappings(); + + var fkNamesForMappings1 = mappings1.IterateTables.SelectMany(t => t.ForeignKeyIterator).Select(fk => fk.Name).ToArray(); + var fkNamesForMappings2 = mappings2.IterateTables.SelectMany(t => t.ForeignKeyIterator).Select(fk => fk.Name).ToArray(); + + fkNamesForMappings1.Should().Have.SameValuesAs(fkNamesForMappings2); + } + + private Mappings GetMappings() + { + var configuration = GetConfiguration(); + return configuration.CreateMappings(Dialect.Dialect.GetDialect(configuration.Properties)); + } + + private Configuration GetConfiguration() + { + // for each call will use a differente instance of configuration + var configuration = TestConfigurationHelper.GetDefaultConfiguration(); + Assembly thisAssembly = GetType().Assembly; + configuration.AddResource("NHibernate.Test.NHSpecificTest.NH2761.A.hbm.xml", thisAssembly); + configuration.AddResource("NHibernate.Test.NHSpecificTest.NH2761.B.hbm.xml", thisAssembly); + configuration.AddResource("NHibernate.Test.NHSpecificTest.NH2761.C.hbm.xml", thisAssembly); + return configuration; + } + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-07-04 11:57:22 UTC (rev 5976) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-07-09 20:30:42 UTC (rev 5977) @@ -882,6 +882,10 @@ <Compile Include="NHSpecificTest\NH2746\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2760\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2760\Model.cs" /> + <Compile Include="NHSpecificTest\NH2761\A.cs" /> + <Compile Include="NHSpecificTest\NH2761\B.cs" /> + <Compile Include="NHSpecificTest\NH2761\C.cs" /> + <Compile Include="NHSpecificTest\NH2761\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2773\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2773\Model.cs" /> <Compile Include="NHSpecificTest\NH941\Domain.cs" /> @@ -2730,6 +2734,9 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2761\A.hbm.xml" /> + <EmbeddedResource Include="NHSpecificTest\NH2761\B.hbm.xml" /> + <EmbeddedResource Include="NHSpecificTest\NH2761\C.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2773\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2693\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2746\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |