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