From: <fab...@us...> - 2011-03-24 21:08:01
|
Revision: 5524 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5524&view=rev Author: fabiomaulo Date: 2011-03-24 21:07:55 +0000 (Thu, 24 Mar 2011) Log Message: ----------- Passing tests for NH-2527 using no-batcher Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/FixtureWithNoBatcher.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/Model.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/FixtureWithNoBatcher.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/FixtureWithNoBatcher.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/FixtureWithNoBatcher.cs 2011-03-24 21:07:55 UTC (rev 5524) @@ -0,0 +1,78 @@ +using NHibernate.AdoNet; +using NHibernate.Cfg.Loquacious; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2527 +{ + public class FixtureWithNoBatcher : BugTestCase + { + + protected override void Configure(Cfg.Configuration configuration) + { + configuration.DataBaseIntegration(x => + { + x.BatchSize = 0; + x.Batcher<NonBatchingBatcherFactory>(); + }); + } + + protected override void OnSetUp() + { + base.OnSetUp(); + + using (ISession session = OpenSession()) + { + using (ITransaction tx = session.BeginTransaction()) + { + var parent = new Parent(); + var childOne = new Child(); + parent.Childs.Add(childOne); + session.Save(parent); + + tx.Commit(); + } + } + } + + protected override void OnTearDown() + { + base.OnTearDown(); + + using (ISession session = OpenSession()) + { + using (ITransaction tx = session.BeginTransaction()) + { + session.Delete("from Child"); + session.Delete("from Parent"); + tx.Commit(); + } + } + } + + [Test] + public void DisposedCommandShouldNotBeReused() + { + using (ISession session = OpenSession()) + { + using (ITransaction tx = session.BeginTransaction()) + { + var parent = session.CreateCriteria<Parent>().UniqueResult<Parent>(); + + Child childOne = parent.Childs[0]; + + var childTwo = new Child(); + parent.Childs.Add(childTwo); + + Child childToMove = parent.Childs[1]; + parent.Childs.RemoveAt(1); + parent.Childs.Insert(0, childToMove); + + Assert.DoesNotThrow(() => { tx.Commit(); }); + + Assert.AreEqual(childTwo.Id, parent.Childs[0].Id); + Assert.AreEqual(childOne.Id, parent.Childs[1].Id); + } + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/Mappings.hbm.xml 2011-03-24 21:07:55 UTC (rev 5524) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2527"> + <class name="Parent"> + <id name="Id"> + <generator class="guid" /> + </id> + <list name="Childs" cascade="all-delete-orphan" fetch="subselect"> + <key column="parent_id" /> + <index column="pos" /> + <one-to-many class="Child" /> + </list> + </class> + + <class name="Child"> + <id name="Id"> + <generator class="guid" /> + </id> + </class> +</hibernate-mapping> \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/Model.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/Model.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2527/Model.cs 2011-03-24 21:07:55 UTC (rev 5524) @@ -0,0 +1,17 @@ +namespace NHibernate.Test.NHSpecificTest.NH2527 { + using System; + using System.Collections.Generic; + + public class Parent { + public Parent() { + Childs = new List<Child>(); + } + + public virtual Guid Id { get; set; } + public virtual IList<Child> Childs { get; set; } + } + + public class Child { + public virtual Guid Id { get; set; } + } +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-03-24 20:38:23 UTC (rev 5523) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-03-24 21:07:55 UTC (rev 5524) @@ -655,6 +655,8 @@ <Compile Include="NHSpecificTest\NH2491\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2507\Animal.cs" /> <Compile Include="NHSpecificTest\NH2507\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2527\FixtureWithNoBatcher.cs" /> + <Compile Include="NHSpecificTest\NH2527\Model.cs" /> <Compile Include="NHSpecificTest\NH2530\Domain.cs" /> <Compile Include="NHSpecificTest\NH2530\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2554\Fixture.cs" /> @@ -2486,6 +2488,7 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2527\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1323\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2580\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2390\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |