From: <fab...@us...> - 2011-05-23 20:10:48
|
Revision: 5865 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5865&view=rev Author: fabiomaulo Date: 2011-05-23 20:10:41 +0000 (Mon, 23 May 2011) Log Message: ----------- Not fixed test fro NH-2477 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2477/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2477/Fixture.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2477/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2477/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2477/Fixture.cs 2011-05-23 20:10:41 UTC (rev 5865) @@ -0,0 +1,72 @@ +using System; +using System.Linq.Dynamic; +using NHibernate.Cfg.MappingSchema; +using NHibernate.Linq; +using NHibernate.Mapping.ByCode; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.NHSpecificTest.NH2477 +{ + public class Something + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + } + + [TestFixture, Ignore("Not fixed yet.")] + public class Fixture: TestCaseMappingByCode + { + protected override HbmMapping GetMappings() + { + var mapper = new ConventionModelMapper(); + mapper.BeforeMapClass += (t, mi, map)=> map.Id(idm=> idm.Generator(Generators.Native)); + return mapper.CompileMappingFor(new[] { typeof(Something) }); + } + + private class Scenario : IDisposable + { + private readonly ISessionFactory factory; + + public Scenario(ISessionFactory factory) + { + this.factory = factory; + using (var session = factory.OpenSession()) + using (session.BeginTransaction()) + { + for (int i = 0; i < 5; i++) + { + session.Persist(new Something { Name = i.ToString() }); + } + session.Transaction.Commit(); + } + } + + public void Dispose() + { + using (var session = factory.OpenSession()) + using (session.BeginTransaction()) + { + session.CreateQuery("delete from Something").ExecuteUpdate(); + session.Transaction.Commit(); + } + } + } + + [Test] + public void WhenTakeBeforeCountShouldApplyTake() + { + using (new Scenario(Sfi)) + { + using (var session = sessions.OpenSession()) + using (session.BeginTransaction()) + { + // This is another case where we have to work with subqueries and we have to write a specific query rewriter for Skip/Take instead flat the query in QueryReferenceExpressionFlattener + //var actual = session.CreateQuery("select count(s) from Something s where s in (from Something take 3)").UniqueResult<long>(); + var actual = session.Query<Something>().Take(3).Count(); + actual.Should().Be(3); + } + } + } + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-23 19:10:23 UTC (rev 5864) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-23 20:10:41 UTC (rev 5865) @@ -793,6 +793,7 @@ <Compile Include="NHSpecificTest\NH2470\Class1Class2Tests.cs" /> <Compile Include="NHSpecificTest\NH2470\DomainObject.cs" /> <Compile Include="NHSpecificTest\NH2470\DTO.cs" /> + <Compile Include="NHSpecificTest\NH2477\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2484\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2484\Model.cs" /> <Compile Include="NHSpecificTest\NH2488\Fixture.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |