From: <te...@us...> - 2008-12-12 15:39:20
|
Revision: 3948 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3948&view=rev Author: tehlike Date: 2008-12-12 15:39:14 +0000 (Fri, 12 Dec 2008) Log Message: ----------- Added tests to support NH-1533 is not an issue (also not an issue before new 2005 dialect) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Person.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Fixture.cs 2008-12-12 15:39:14 UTC (rev 3948) @@ -0,0 +1,104 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using NUnit.Framework; +using NUnit.Framework.SyntaxHelpers; + +namespace NHibernate.Test.NHSpecificTest.NH1533 +{ + [TestFixture] + public class Fixture:BugTestCase + { + protected override void OnTearDown() + { + base.OnTearDown(); + using (ISession session = OpenSession()) + { + using (ITransaction tx = session.BeginTransaction()) + { + session.Delete("from Person"); + tx.Commit(); + } + } + } + protected override void OnSetUp() + { + using (ISession s = OpenSession()) + { + using (ITransaction tx = s.BeginTransaction()) + { + Person e1 = new Person("Joe", 10, 9); + Person e2 = new Person("Sally", 10, 8); + Person e3 = new Person("Tim", 20, 40); //20 + Person e4 = new Person("Fred", 20, 7); + Person e5 = new Person("Mike", 50, 50); + s.Save(e1); + s.Save(e2); + s.Save(e3); + s.Save(e4); + s.Save(e5); + tx.Commit(); + } + } + } + + [Test] + public void Can_query_using_two_orderby_and_limit_altogether() + { + using(var sess=OpenSession()) + { + using(var tran=sess.BeginTransaction() ) + { + var query = + sess.CreateQuery( + "select this.Name,this.ShoeSize,this.IQ from Person as this order by this.IQ asc,this.ShoeSize asc"); + query.SetMaxResults(2); + query.SetFirstResult(2); + IList results = query.List(); + Assert.That(results.Count, Is.EqualTo(2)); + Assert.That(((IList)results[0])[0], Is.EqualTo("Fred")); + Assert.That(((IList)results[1])[0], Is.EqualTo("Tim")); + } + } + } + [Test] + public void Can_query_using_two_orderby_and_limit_with_maxresult_only() + { + using (var sess = OpenSession()) + { + using (var tran = sess.BeginTransaction()) + { + var query = + sess.CreateQuery( + "select this.Name,this.ShoeSize,this.IQ from Person as this order by this.IQ asc,this.ShoeSize asc"); + query.SetMaxResults(2); + IList results = query.List(); + Assert.That(results.Count, Is.EqualTo(2)); + Assert.That(((IList)results[0])[0], Is.EqualTo("Sally")); + Assert.That(((IList)results[1])[0], Is.EqualTo("Joe")); + } + } + } + + [Test] + public void Can_query_using_two_orderby_and_limit_with_firstresult_only() + { + using (var sess = OpenSession()) + { + using (var tran = sess.BeginTransaction()) + { + var query = + sess.CreateQuery( + "select this.Name,this.ShoeSize,this.IQ from Person as this order by this.IQ asc,this.ShoeSize asc"); + query.SetFirstResult(2); + IList results = query.List(); + Assert.That(results.Count, Is.EqualTo(3)); + Assert.That(((IList)results[0])[0], Is.EqualTo("Fred")); + Assert.That(((IList)results[1])[0], Is.EqualTo("Tim")); + Assert.That(((IList)results[1])[0], Is.EqualTo("Mike")); + } + } + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Mappings.hbm.xml 2008-12-12 15:39:14 UTC (rev 3948) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH1533"> + + <class name="Person" lazy="false"> + <id name="Id"> + <generator class="native" /> + </id> + <property name="Name"/> + <property name="IQ"/> + <property name="ShoeSize"/> + </class> +</hibernate-mapping> \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Person.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Person.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1533/Person.cs 2008-12-12 15:39:14 UTC (rev 3948) @@ -0,0 +1,54 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using ArrayList=System.Collections.ArrayList; + +namespace NHibernate.Test.NHSpecificTest.NH1533 +{ + public class Person + { + private int id; + private int iq; + private string name; + private IList pets; + private int shoeSize; + + public Person() + { + pets = new ArrayList(); + } + + public Person(string name, int iq, int shoeSize) + { + this.name = name; + this.iq = iq; + this.shoeSize = shoeSize; + pets = new ArrayList(); + } + + public virtual int Id + { + get { return id; } + set { id = value; } + } + + public virtual string Name + { + get { return name; } + set { name = value; } + } + + public virtual int IQ + { + get { return iq; } + set { iq = value; } + } + + public virtual int ShoeSize + { + get { return shoeSize; } + set { shoeSize = value; } + } + } +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-12-12 15:00:59 UTC (rev 3947) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-12-12 15:39:14 UTC (rev 3948) @@ -521,6 +521,8 @@ <Compile Include="NHSpecificTest\NH1508\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1508\Person.cs" /> <Compile Include="NHSpecificTest\NH1515\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH1533\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH1533\Person.cs" /> <Compile Include="NHSpecificTest\NH1552\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1552\MyClass.cs" /> <Compile Include="NHSpecificTest\NH1556\Claim.cs" /> @@ -1560,6 +1562,7 @@ <EmbeddedResource Include="Cascade\JobBatch.hbm.xml" /> <EmbeddedResource Include="Deletetransient\Person.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH1533\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1552\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1349\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1593\TestIndex.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |