From: <fab...@us...> - 2009-05-15 20:39:19
|
Revision: 4319 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4319&view=rev Author: fabiomaulo Date: 2009-05-15 20:39:11 +0000 (Fri, 15 May 2009) Log Message: ----------- Fixed NH-1343 (by the new parser) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/OrderLine.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/Product.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/ProductFixture.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/Mappings.hbm.xml 2009-05-15 20:39:11 UTC (rev 4319) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH1343"> + + <class name="OrderLine"> + <id name ="Id"> + <generator class="native" /> + </id> + + <many-to-one name="Product" class="Product" column="ProductID" /> + + <property name="Description"/> + </class> + + <class name="Product"> + <id name ="Id"> + <generator class="native" /> + </id> + <property name="Description"/> + </class> + + <query name="GetLinesForProduct"> + from OrderLine ol + where Product = :product + </query> + + <query name="GetLinesForProductWithAlias"> + from OrderLine ol + where ol.Product = :product + </query> +</hibernate-mapping> \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/OrderLine.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/OrderLine.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/OrderLine.cs 2009-05-15 20:39:11 UTC (rev 4319) @@ -0,0 +1,19 @@ +namespace NHibernate.Test.NHSpecificTest.NH1343 +{ + public class OrderLine + { + protected OrderLine() {} + + public OrderLine(string description, Product product) + { + Description = description; + Product = product; + } + + public virtual int Id { get; private set; } + + public virtual string Description { get; set; } + + public virtual Product Product { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/Product.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/Product.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/Product.cs 2009-05-15 20:39:11 UTC (rev 4319) @@ -0,0 +1,16 @@ +namespace NHibernate.Test.NHSpecificTest.NH1343 +{ + public class Product + { + protected Product() {} + + public Product(string description) + { + Description = description; + } + + public virtual int Id { get; set; } + + public virtual string Description { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/ProductFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/ProductFixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1343/ProductFixture.cs 2009-05-15 20:39:11 UTC (rev 4319) @@ -0,0 +1,57 @@ +using System.Collections.Generic; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH1343 +{ + [TestFixture] + public class ProductFixture : BugTestCase + { + protected override void OnTearDown() + { + using (ISession session = OpenSession()) + { + session.Delete("from OrderLine"); + session.Delete("from Product"); + session.Flush(); + } + } + + [Test] + public void ProductQueryPassesParsingButFails() + { + Product product1 = new Product("product1"); + OrderLine orderLine = new OrderLine("1", product1); + + using (ISession session = OpenSession()) + { + session.Save(product1); + session.Save(orderLine); + session.Flush(); + + IQuery query = session.GetNamedQuery("GetLinesForProduct"); + query.SetParameter("product", product1); + IList<OrderLine> list = query.List<OrderLine>(); + Assert.AreEqual(1, list.Count); + } + } + + [Test] + public void ProductQueryPassesAndExecutesRightIfPuttingAlias() + { + Product product1 = new Product("product1"); + OrderLine orderLine = new OrderLine("1", product1); + + using (ISession session = OpenSession()) + { + session.Save(product1); + session.Save(orderLine); + session.Flush(); + + IQuery query = session.GetNamedQuery("GetLinesForProductWithAlias"); + query.SetParameter("product", product1); + IList<OrderLine> list = query.List<OrderLine>(); + Assert.AreEqual(1, list.Count); + } + } + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-05-15 20:28:58 UTC (rev 4318) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-05-15 20:39:11 UTC (rev 4319) @@ -335,6 +335,9 @@ <Compile Include="NHSpecificTest\NH1264\Name.cs" /> <Compile Include="NHSpecificTest\NH1264\Passenger.cs" /> <Compile Include="NHSpecificTest\NH1264\Reservation.cs" /> + <Compile Include="NHSpecificTest\NH1343\OrderLine.cs" /> + <Compile Include="NHSpecificTest\NH1343\Product.cs" /> + <Compile Include="NHSpecificTest\NH1343\ProductFixture.cs" /> <Compile Include="NHSpecificTest\NH1388\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1574\Principal.cs" /> <Compile Include="NHSpecificTest\NH1574\SpecializedPrincipal.cs" /> @@ -1791,6 +1794,7 @@ <EmbeddedResource Include="BulkManipulation\SimpleClass.hbm.xml" /> <EmbeddedResource Include="Ado\VerySimple.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH1343\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1264\Passenger.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1264\Reservation.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1775\Member.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |