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