From: <fab...@us...> - 2010-12-19 14:42:05
|
Revision: 5330 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5330&view=rev Author: fabiomaulo Date: 2010-12-19 14:41:59 +0000 (Sun, 19 Dec 2010) Log Message: ----------- Test for NH-2043 (the test pass but with don't have a specific test for this usecase so..) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Domain.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Domain.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Domain.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Domain.cs 2010-12-19 14:41:59 UTC (rev 5330) @@ -0,0 +1,26 @@ +namespace NHibernate.Test.NHSpecificTest.NH2043 +{ + public class A + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + + public virtual B B { get; set; } + } + + public class AImpl : A + { + } + + public class B + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + + public virtual A A { get; set; } + } + + public class BImpl : B + { + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Fixture.cs 2010-12-19 14:41:59 UTC (rev 5330) @@ -0,0 +1,52 @@ +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2043 +{ + [TestFixture] + public class Fixture : BugTestCase + { + public class Namer : EmptyInterceptor + { + public override string GetEntityName(object entity) + { + if (entity.GetType().Name.EndsWith("Impl")) + return entity.GetType().BaseType.FullName; + + return base.GetEntityName(entity); + } + } + + protected override void BuildSessionFactory() + { + cfg.SetInterceptor(new Namer()); + base.BuildSessionFactory(); + } + + [Test] + public void Test() + { + try + { + using (ISession s = OpenSession()) + { + var a = new AImpl {Id = 1, Name = "A1"}; + var b = new BImpl {Id = 1, Name = "B1", A = a }; + a.B = b; + + s.Save(a); + s.Save(b); + s.Flush(); + } + } + finally + { + using (ISession s = OpenSession()) + { + s.Delete("from B"); + s.Delete("from A"); + s.Flush(); + } + } + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Mappings.hbm.xml 2010-12-19 14:41:59 UTC (rev 5330) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + namespace="NHibernate.Test.NHSpecificTest.NH2043" + assembly="NHibernate.Test"> + + <class name="A"> + <id name="Id"> + <generator class="identity" /> + </id> + <property name="Name" /> + <one-to-one class="B" name="B" /> + </class> + + <class name="B"> + <id name="Id"> + <generator class="foreign"> + <param name="property">A</param> + </generator> + </id> + <property name="Name" /> + <one-to-one class="A" name="A" /> + </class> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-18 22:29:06 UTC (rev 5329) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-19 14:41:59 UTC (rev 5330) @@ -478,6 +478,8 @@ <Compile Include="NHSpecificTest\NH1869\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2037\Domain.cs" /> <Compile Include="NHSpecificTest\NH2037\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2043\Domain.cs" /> + <Compile Include="NHSpecificTest\NH2043\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2111\A.cs" /> <Compile Include="NHSpecificTest\NH2111\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2112\Fixture.cs" /> @@ -2360,6 +2362,7 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2043\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2037\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2118\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2362\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |