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