|
From: <te...@us...> - 2009-05-17 21:30:33
|
Revision: 4335
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4335&view=rev
Author: tehlike
Date: 2009-05-17 21:30:26 +0000 (Sun, 17 May 2009)
Log Message:
-----------
Adding tests for NH-1747 by Anne Epstein
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Classes.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Mappings.hbm.xml
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Classes.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Classes.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Classes.cs 2009-05-17 21:30:26 UTC (rev 4335)
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace NHibernate.Test.NHSpecificTest.NH1747
+{
+ public class Payment
+ {
+ private Int32 id;
+ public virtual Int32 Id { get { return id; } set { id = value; } }
+
+ private Decimal amount;
+ public virtual Decimal Amount { get { return amount; } set { amount = value; } }
+ private PaymentBatch paymentBatch;
+ public virtual PaymentBatch PaymentBatch { get { return paymentBatch; } set { paymentBatch = value; } }
+ }
+
+ public class PaymentBatch
+ {
+ private Int32 id;
+ public virtual Int32 Id { get { return id; } set { id = value; } }
+
+ private IList<Payment> payments = new List<Payment>();
+ public virtual IList<Payment> Payments { get { return payments; } }
+
+ public virtual void AddPayment(Payment p)
+ {
+ payments.Add(p);
+ p.PaymentBatch = this;
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Fixture.cs 2009-05-17 21:30:26 UTC (rev 4335)
@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH1747
+{
+ [TestFixture,Ignore]
+ public class JoinTraversalTest : BugTestCase
+ {
+
+ protected override void OnSetUp()
+ {
+ base.OnSetUp();
+ using (ISession session = OpenSession())
+ {
+ var payment = new Payment { Amount = 5m, Id = 1 };
+ var paymentBatch = new PaymentBatch { Id = 3 };
+ paymentBatch.AddPayment(payment);
+ session.Save(paymentBatch);
+ session.Save(payment);
+ session.Flush();
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ base.OnTearDown();
+ using (ISession session = OpenSession())
+ {
+ var hql = "from System.Object";
+ session.Delete(hql);
+ session.Flush();
+ }
+ }
+
+ [Test]
+ public void TraversingBagToJoinChildElementShouldWork()
+ {
+ using (ISession session = OpenSession())
+ {
+ var paymentBatch = session.Get<PaymentBatch>(3);
+ Assert.AreEqual(1, paymentBatch.Payments.Count);
+
+ }
+ }
+ }
+
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1747/Mappings.hbm.xml 2009-05-17 21:30:26 UTC (rev 4335)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH1747" default-access="field.camelcase">
+ <class name="Payment" table="PAYMENT">
+ <id name="Id" type="Int32" column="PAYMENT_ID">
+ <generator class="assigned"/>
+ </id>
+ <property name="Amount" column="AMOUNT"/>
+ <join table="CREDIT_PAYMENT">
+ <key column="PAYMENTID" />
+ <many-to-one name="PaymentBatch" column="PaymentBatchFK_ID"/>
+ </join>
+ </class>
+
+ <class name="PaymentBatch" table="PAYMENTBATCH">
+ <id name="Id" type="Int32" column="PAYMENTBATCH_ID">
+ <generator class="assigned"/>
+ </id>
+
+ <bag name="Payments" inverse="true">
+ <key column="PaymentBatchFK_ID" />
+ <one-to-many class="Payment"/>
+ </bag>
+ </class>
+</hibernate-mapping>
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-05-17 20:36:05 UTC (rev 4334)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-05-17 21:30:26 UTC (rev 4335)
@@ -407,6 +407,8 @@
<Compile Include="NHSpecificTest\NH1741\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1742\DomainClass.cs" />
<Compile Include="NHSpecificTest\NH1742\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH1747\Classes.cs" />
+ <Compile Include="NHSpecificTest\NH1747\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1760\DomainClass.cs" />
<Compile Include="NHSpecificTest\NH1760\SampleTest.cs" />
<Compile Include="NHSpecificTest\NH1763\DomainClass.cs" />
@@ -1810,6 +1812,7 @@
<EmbeddedResource Include="BulkManipulation\SimpleClass.hbm.xml" />
<EmbeddedResource Include="Ado\VerySimple.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH1747\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1159\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1093\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1714\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|