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