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