|
From: <fab...@us...> - 2011-05-17 22:33:23
|
Revision: 5836
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5836&view=rev
Author: fabiomaulo
Date: 2011-05-17 22:33:17 +0000 (Tue, 17 May 2011)
Log Message:
-----------
passing test for NH-2404 (was fixed fixing a similar case few days ago)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntity.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntityDto.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Fixture.cs 2011-05-17 22:33:17 UTC (rev 5836)
@@ -0,0 +1,95 @@
+using System.Linq;
+using NHibernate.Impl;
+using NHibernate.Linq;
+using NHibernate.Transform;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH2404
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ protected override void OnSetUp()
+ {
+ base.OnSetUp();
+ using (var session = this.OpenSession())
+ using (var tx = session.BeginTransaction())
+ {
+ var entity = new TestEntity();
+ entity.Id = 1;
+ entity.Name = "Test Entity";
+ session.Save(entity);
+
+ var entity1 = new TestEntity();
+ entity1.Id = 2;
+ entity1.Name = "Test Entity";
+ session.Save(entity1);
+
+ tx.Commit();
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ base.OnTearDown();
+ using (ISession session = this.OpenSession())
+ {
+ string hql = "from System.Object";
+ session.Delete(hql);
+ session.Flush();
+ }
+ }
+
+ [Test]
+ public void ProjectionsShouldWorkWithLinqProviderAndFutures()
+ {
+ using (ISession session = this.OpenSession())
+ {
+ if (((SessionFactoryImpl)sessions).ConnectionProvider.Driver.SupportsMultipleQueries == false)
+ {
+ Assert.Ignore("Not applicable for dialects that do not support multiple queries");
+ }
+
+ var query1 = (
+ from entity in session.Query<TestEntity>()
+ select new TestEntityDto {EntityId = entity.Id, EntityName = entity.Name}
+ ).ToList();
+
+ Assert.AreEqual(2, query1.Count());
+
+ var query2 = (
+ from entity in session.Query<TestEntity>()
+ select new TestEntityDto { EntityId = entity.Id, EntityName = entity.Name }
+ ).ToFuture();
+
+ Assert.AreEqual(2, query2.Count());
+ }
+ }
+
+ [Test]
+ public void ProjectionsShouldWorkWithHqlAndFutures()
+ {
+ using (ISession session = this.OpenSession())
+ {
+ if (((SessionFactoryImpl)sessions).ConnectionProvider.Driver.SupportsMultipleQueries == false)
+ {
+ Assert.Ignore("Not applicable for dialects that do not support multiple queries");
+ }
+
+ var query1 =
+ session.CreateQuery("select e.Id as EntityId, e.Name as EntityName from TestEntity e").SetResultTransformer(
+ Transformers.AliasToBean(typeof (TestEntityDto)))
+ .List<TestEntityDto>();
+
+ Assert.AreEqual(2, query1.Count());
+
+ var query2 =
+ session.CreateQuery("select e.Id as EntityId, e.Name as EntityName from TestEntity e").SetResultTransformer(
+ Transformers.AliasToBean(typeof (TestEntityDto)))
+ .Future<TestEntityDto>();
+
+ Assert.AreEqual(2, query2.Count());
+ }
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Mappings.hbm.xml 2011-05-17 22:33:17 UTC (rev 5836)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH2404" default-access="field.camelcase"
+ default-lazy="false">
+ <class name="TestEntity">
+ <id name="Id">
+ <generator class="assigned" />
+ </id>
+ <property name="Name" />
+ </class>
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntity.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntity.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntity.cs 2011-05-17 22:33:17 UTC (rev 5836)
@@ -0,0 +1,20 @@
+namespace NHibernate.Test.NHSpecificTest.NH2404
+{
+ public class TestEntity
+ {
+ private string name;
+ private int id;
+
+ public int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public string Name
+ {
+ get { return name; }
+ set { name = value; }
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntityDto.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntityDto.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntityDto.cs 2011-05-17 22:33:17 UTC (rev 5836)
@@ -0,0 +1,8 @@
+namespace NHibernate.Test.NHSpecificTest.NH2404
+{
+ public class TestEntityDto
+ {
+ public int EntityId { get; set; }
+ public string EntityName { get; set; }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-17 22:15:39 UTC (rev 5835)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-17 22:33:17 UTC (rev 5836)
@@ -759,6 +759,9 @@
<Compile Include="NHSpecificTest\NH2394\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2394\PhoneNumber.cs" />
<Compile Include="NHSpecificTest\NH2394\PhoneNumberUserType.cs" />
+ <Compile Include="NHSpecificTest\NH2404\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2404\TestEntity.cs" />
+ <Compile Include="NHSpecificTest\NH2404\TestEntityDto.cs" />
<Compile Include="NHSpecificTest\NH2409\Contest.cs" />
<Compile Include="NHSpecificTest\NH2409\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2409\Message.cs" />
@@ -2678,6 +2681,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\NH2404\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2705\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2546\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2697\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|