|
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.
|