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