From: <fab...@us...> - 2009-06-05 22:06:41
|
Revision: 4421 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4421&view=rev Author: fabiomaulo Date: 2009-06-05 22:06:40 +0000 (Fri, 05 Jun 2009) Log Message: ----------- Test for NH-1182 (was fixed in some moment in the past) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Domain.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Domain.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Domain.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Domain.cs 2009-06-05 22:06:40 UTC (rev 4421) @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace NHibernate.Test.NHSpecificTest.NH1182 +{ + public class ObjectA + { + public virtual int Id { get; set; } + public virtual DateTime Version { get; set; } + public virtual IList<ObjectB> Bs { get; set; } + } + + public class ObjectB + { + public virtual int Id { get; set; } + public virtual DateTime Version { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Fixture.cs 2009-06-05 22:06:40 UTC (rev 4421) @@ -0,0 +1,47 @@ +using System.Collections.Generic; +using NHibernate.Cfg; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH1182 +{ + [TestFixture] + public class Fixture: BugTestCase + { + protected override void Configure(Configuration configuration) + { + configuration.SetProperty(Environment.FormatSql, "false"); + } + [Test] + public void DeleteWithoutUpdateVersion() + { + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + s.Save(new ObjectA { Bs = new List<ObjectB> { new ObjectB(), new ObjectB() } }); + t.Commit(); + } + + using (var ls = new SqlLogSpy()) + { + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + var a = s.CreateCriteria<ObjectA>().UniqueResult<ObjectA>(); + s.Delete(a); + t.Commit(); + } + string wholeLog = ls.GetWholeLog(); + Assert.That(wholeLog, Text.DoesNotContain("UPDATE ObjectA")); + Assert.That(wholeLog, Text.Contains("UPDATE ObjectB"),"should create orphans"); + } + + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + s.CreateQuery("delete from ObjectB").ExecuteUpdate(); + s.CreateQuery("delete from ObjectA").ExecuteUpdate(); + t.Commit(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Mappings.hbm.xml 2009-06-05 22:06:40 UTC (rev 4421) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + namespace="NHibernate.Test.NHSpecificTest.NH1182" + assembly="NHibernate.Test"> + + <class name="ObjectA"> + <id name="Id"> + <generator class="native"/> + </id> + <timestamp name="Version"/> + <bag name="Bs" cascade="all"> + <key column="AId"/> + <one-to-many class="ObjectB"/> + </bag> + </class> + + <class name="ObjectB"> + <id name="Id"> + <generator class="native"/> + </id> + <timestamp name="Version"/> + </class> + +</hibernate-mapping> \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-06-05 21:27:54 UTC (rev 4420) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-06-05 22:06:40 UTC (rev 4421) @@ -363,6 +363,8 @@ <Compile Include="NHSpecificTest\NH1159\HibernateInterceptor.cs" /> <Compile Include="NHSpecificTest\NH1171\Domain.cs" /> <Compile Include="NHSpecificTest\NH1171\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH1182\Domain.cs" /> + <Compile Include="NHSpecificTest\NH1182\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1264\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1264\Name.cs" /> <Compile Include="NHSpecificTest\NH1264\Passenger.cs" /> @@ -1892,6 +1894,7 @@ <EmbeddedResource Include="CacheTest\EntityWithFilters.xml" /> <EmbeddedResource Include="Classic\EntityWithLifecycle.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH1182\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1171\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1400\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1444\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |