From: <fab...@us...> - 2009-04-24 06:46:42
|
Revision: 4211 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4211&view=rev Author: fabiomaulo Date: 2009-04-24 06:46:40 +0000 (Fri, 24 Apr 2009) Log Message: ----------- Fix with the same fix of NH-1742 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Model.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Fixture.cs 2009-04-24 06:46:40 UTC (rev 4211) @@ -0,0 +1,76 @@ +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH1727 +{ + [TestFixture] + public class Fixture : BugTestCase + { + /* To the commiter + * I'm using sql2005dialect + * From what I've read there's been some diffucalties with this + * dialect before when used parameter queries. + * The first test (xxx_DoesNotWorkToday) passed in NH 2.0 + * The second test passes where I've just switched the order in the where clause + */ + + + [Test] + public void VerifyFilterAndInAndProperty_DoesNotWorkToday() + { + const string hql = @"select a from ClassA a + where a.Value in (:aValues) + and a.Name=:name"; + ClassB b = new ClassB(); + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + s.Save(b); + t.Commit(); + } + using (ISession s = OpenSession()) + { + s.EnableFilter("bEquals").SetParameter("b", b.Id); + s.CreateQuery(hql) + .SetString("name", "Sweden") + .SetParameterList("aValues", new[] { 1, 3, 4 }) + .List<ClassA>(); + } + } + + + [Test] + public void VerifyFilterAndInAndProperty_WorksToday() + { + const string hql = @"select a from ClassA a + where a.Name=:name + and a.Value in (:aValues)"; + ClassB b = new ClassB(); + using(ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + s.Save(b); + t.Commit(); + } + using(ISession s = OpenSession()) + { + s.EnableFilter("bEquals").SetParameter("b", b.Id); + s.CreateQuery(hql) + .SetString("name", "Sweden") + .SetParameterList("aValues", new []{1,3,4}) + .List<ClassA>(); + } + } + + protected override void OnTearDown() + { + using(ISession s = OpenSession()) + using(ITransaction t = s.BeginTransaction()) + { + s.Delete("from ClassB"); + s.Delete("from ClassA"); + t.Commit(); + } + } + + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Mappings.hbm.xml 2009-04-24 06:46:40 UTC (rev 4211) @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + namespace="NHibernate.Test.NHSpecificTest.NH1727" + assembly="NHibernate.Test"> + <class name="ClassA"> + <id name="Id"> + <generator class="guid.comb"/> + </id> + <bag name="BCollection"> + <key column="classA"/> + <one-to-many class="ClassB"/> + </bag> + <many-to-one name="B" + class="ClassB"/> + + <property name="Name"/> + <property name="Value" /> + + <filter name="bEquals" + condition=":b = B"/> + </class> + + <class name="ClassB"> + <id name="Id"> + <generator class="guid.comb"/> + </id> + </class> + + <filter-def name="bEquals"> + <filter-param name="b" + type="guid"/> + </filter-def> +</hibernate-mapping> Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Model.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Model.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1727/Model.cs 2009-04-24 06:46:40 UTC (rev 4211) @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; + +namespace NHibernate.Test.NHSpecificTest.NH1727 +{ + public class ClassA + { + public virtual Guid Id { get; set; } + public virtual IList<ClassB> BCollection { get; set; } + public virtual string Name { get; set; } + public virtual int Value { get; set; } + public virtual ClassB B {get;set;} + } + + public class ClassB + { + public virtual Guid Id { get; set; } + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-04-24 06:40:17 UTC (rev 4210) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-04-24 06:46:40 UTC (rev 4211) @@ -324,6 +324,8 @@ <Compile Include="NHSpecificTest\NH1715\ClassA.cs" /> <Compile Include="NHSpecificTest\NH1716\ClassA.cs" /> <Compile Include="NHSpecificTest\NH1716\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH1727\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH1727\Model.cs" /> <Compile Include="NHSpecificTest\NH1741\Domain.cs" /> <Compile Include="NHSpecificTest\NH1741\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1742\DomainClass.cs" /> @@ -1721,6 +1723,7 @@ <EmbeddedResource Include="Cascade\JobBatch.hbm.xml" /> <EmbeddedResource Include="Deletetransient\Person.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH1727\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1742\Mappings.hbm.xml" /> <EmbeddedResource Include="HQL\Ast\SimpleClass.hbm.xml" /> <EmbeddedResource Include="HQL\Ast\TestQueries.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |