From: <te...@us...> - 2009-06-20 16:09:57
|
Revision: 4495 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4495&view=rev Author: tehlike Date: 2009-06-20 16:09:53 +0000 (Sat, 20 Jun 2009) Log Message: ----------- Adding test to show NH-473 is not an issue (should have been fixed somewhere in the past) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Child.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Parent.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Child.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Child.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Child.cs 2009-06-20 16:09:53 UTC (rev 4495) @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace NHibernate.Test.NHSpecificTest.NH473 +{ + public class Child + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Fixture.cs 2009-06-20 16:09:53 UTC (rev 4495) @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.Text; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH473 +{ + [TestFixture] + public class Fixture:BugTestCase + { + protected override void OnSetUp() + { + using(var session=this.OpenSession()) + using(var tran=session.BeginTransaction()) + { + var parent = new Parent(); + var child1 = new Child {Name = "Fabio"}; + var child2 = new Child {Name = "Ayende"}; + var child3 = new Child {Name = "Dario"}; + parent.Children.Add(child1); + parent.Children.Add(child2); + parent.Children.Add(child3); + session.Save(parent); + tran.Commit(); + } + } + protected override void OnTearDown() + { + using (var session = this.OpenSession()) + using (var tran = session.BeginTransaction()) + { + session.Delete("from Parent"); + tran.Commit(); + } + } + [Test] + public void ChildItemsGetInOrderWhenUsingFetchJoin() + { + using(var session=this.OpenSession()) + using(var tran=session.BeginTransaction()) + { + var result = session.CreateCriteria(typeof (Parent)) + .SetFetchMode("Children", FetchMode.Join) + .List<Parent>(); + Assert.That(result[0].Children[0].Name,Is.EqualTo("Ayende")); + Assert.That(result[0].Children[1].Name, Is.EqualTo("Dario")); + Assert.That(result[0].Children[2].Name, Is.EqualTo("Fabio")); + } + } + + [Test] + public void ChildItemsGetInOrderWhenUsingFetchJoinUniqueResult() + { + using (var session = this.OpenSession()) + using (var tran = session.BeginTransaction()) + { + var result = session.CreateCriteria(typeof(Parent)) + .SetFetchMode("Children", FetchMode.Join) + .UniqueResult<Parent>(); + Assert.That(result.Children[0].Name, Is.EqualTo("Ayende")); + Assert.That(result.Children[1].Name, Is.EqualTo("Dario")); + Assert.That(result.Children[2].Name, Is.EqualTo("Fabio")); + } + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Mappings.hbm.xml 2009-06-20 16:09:53 UTC (rev 4495) @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH473"> + + <class name="Parent"> + <id name="Id"> + <generator class="native"/> + </id> + + <bag name="Children" lazy="true" order-by="Name" cascade="all-delete-orphan"> + <key column="ParentId" /> + <one-to-many class="Child" /> + </bag> + </class> + + <class name="Child"> + <id name="Id"> + <generator class="native" /> + </id> + <property name="Name"/> + </class> +</hibernate-mapping> \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Parent.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Parent.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH473/Parent.cs 2009-06-20 16:09:53 UTC (rev 4495) @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Iesi.Collections; +using Iesi.Collections.Generic; + +namespace NHibernate.Test.NHSpecificTest.NH473 +{ + public class Parent + { + public Parent() + { + this.Children = new List<Child>(); + } + public virtual int Id { get; set; } + public virtual IList<Child> Children { get; set; } + } +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-06-20 15:21:09 UTC (rev 4494) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-06-20 16:09:53 UTC (rev 4495) @@ -515,6 +515,9 @@ <Compile Include="NHSpecificTest\NH1837\Customer.cs" /> <Compile Include="NHSpecificTest\NH1837\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1837\Order.cs" /> + <Compile Include="NHSpecificTest\NH473\Child.cs" /> + <Compile Include="NHSpecificTest\NH473\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH473\Parent.cs" /> <Compile Include="NHSpecificTest\NH645\HQLFunctionFixture.cs" /> <Compile Include="HQL\HQLFunctions.cs" /> <Compile Include="HQL\Human.cs" /> @@ -1922,6 +1925,7 @@ <EmbeddedResource Include="Bytecode\Lightweight\ProductLine.hbm.xml" /> <EmbeddedResource Include="DriverTest\MultiTypeEntity.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH473\Mappings.hbm.xml" /> <EmbeddedResource Include="VersionTest\Db\User.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1831\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1069\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |