|
From: <fab...@us...> - 2011-04-14 19:32:06
|
Revision: 5702
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5702&view=rev
Author: fabiomaulo
Date: 2011-04-14 19:31:59 +0000 (Thu, 14 Apr 2011)
Log Message:
-----------
by-code: Synchronize for entities
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/IEntityAttributesMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ClassMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SubclassCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/UnionSubclassCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/SubclassMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/UnionSubclassMapper.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/TablesSincronizationTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/TablesSincronizationTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/TablesSincronizationTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/TablesSincronizationTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/IEntityAttributesMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/IEntityAttributesMapper.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/IEntityAttributesMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -12,5 +12,6 @@
void BatchSize(int value);
void SelectBeforeUpdate(bool value);
void Persister<T>() where T : IEntityPersister;
+ void Synchronize(params string[] table);
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ClassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ClassMapper.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ClassMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -247,6 +247,18 @@
classMapping.persister = typeof (T).GetShortClassName(MapDoc);
}
+ public void Synchronize(params string[] table)
+ {
+ if (table == null)
+ {
+ return;
+ }
+ var existingSyncs = new HashSet<string>(classMapping.synchronize != null ? classMapping.synchronize.Select(x => x.table) : Enumerable.Empty<string>());
+ System.Array.ForEach(table.Where(x => x != null).Select(tableName => tableName.Trim()).Where(cleanedName => !"".Equals(cleanedName)).ToArray(),
+ x => existingSyncs.Add(x.Trim()));
+ classMapping.synchronize = existingSyncs.Select(x => new HbmSynchronize {table = x}).ToArray();
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -178,6 +178,11 @@
CustomizersHolder.AddCustomizer(typeof(TEntity), (IClassMapper m) => m.Persister<T>());
}
+ public void Synchronize(params string[] table)
+ {
+ CustomizersHolder.AddCustomizer(typeof(TEntity), (IClassMapper m) => m.Synchronize(table));
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -70,6 +70,12 @@
CustomizersHolder.AddCustomizer(typeof (TEntity), (IJoinedSubclassAttributesMapper m) => m.Persister<T>());
}
+ public void Synchronize(params string[] table)
+ {
+ CustomizersHolder.AddCustomizer(typeof(TEntity), (IJoinedSubclassAttributesMapper m) => m.Synchronize(table));
+
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SubclassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SubclassCustomizer.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SubclassCustomizer.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -88,6 +88,11 @@
CustomizersHolder.AddCustomizer(typeof (TEntity), (ISubclassMapper m) => m.Persister<T>());
}
+ public void Synchronize(params string[] table)
+ {
+ CustomizersHolder.AddCustomizer(typeof(TEntity), (ISubclassMapper m) => m.Synchronize(table));
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/UnionSubclassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/UnionSubclassCustomizer.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/UnionSubclassCustomizer.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -57,6 +57,11 @@
CustomizersHolder.AddCustomizer(typeof (TEntity), (IUnionSubclassAttributesMapper m) => m.Persister<T>());
}
+ public void Synchronize(params string[] table)
+ {
+ CustomizersHolder.AddCustomizer(typeof(TEntity), (IUnionSubclassAttributesMapper m) => m.Synchronize(table));
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Linq;
using NHibernate.Cfg.MappingSchema;
using NHibernate.Persister.Entity;
@@ -84,6 +85,18 @@
classMapping.persister = typeof (T).GetShortClassName(MapDoc);
}
+ public void Synchronize(params string[] table)
+ {
+ if (table == null)
+ {
+ return;
+ }
+ var existingSyncs = new HashSet<string>(classMapping.synchronize != null ? classMapping.synchronize.Select(x => x.table) : Enumerable.Empty<string>());
+ System.Array.ForEach(table.Where(x => x != null).Select(tableName => tableName.Trim()).Where(cleanedName => !"".Equals(cleanedName)).ToArray(),
+ x => existingSyncs.Add(x.Trim()));
+ classMapping.synchronize = existingSyncs.Select(x => new HbmSynchronize { table = x }).ToArray();
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/SubclassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/SubclassMapper.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/SubclassMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -123,6 +123,18 @@
classMapping.persister = typeof (T).GetShortClassName(MapDoc);
}
+ public void Synchronize(params string[] table)
+ {
+ if (table == null)
+ {
+ return;
+ }
+ var existingSyncs = new HashSet<string>(classMapping.synchronize != null ? classMapping.synchronize.Select(x => x.table) : Enumerable.Empty<string>());
+ System.Array.ForEach(table.Where(x => x != null).Select(tableName => tableName.Trim()).Where(cleanedName => !"".Equals(cleanedName)).ToArray(),
+ x => existingSyncs.Add(x.Trim()));
+ classMapping.synchronize = existingSyncs.Select(x => new HbmSynchronize { table = x }).ToArray();
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/UnionSubclassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/UnionSubclassMapper.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/UnionSubclassMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Linq;
using NHibernate.Cfg.MappingSchema;
using NHibernate.Persister.Entity;
@@ -80,6 +81,18 @@
classMapping.persister = typeof (T).GetShortClassName(MapDoc);
}
+ public void Synchronize(params string[] table)
+ {
+ if (table == null)
+ {
+ return;
+ }
+ var existingSyncs = new HashSet<string>(classMapping.synchronize != null ? classMapping.synchronize.Select(x => x.table) : Enumerable.Empty<string>());
+ System.Array.ForEach(table.Where(x => x != null).Select(tableName => tableName.Trim()).Where(cleanedName => !"".Equals(cleanedName)).ToArray(),
+ x => existingSyncs.Add(x.Trim()));
+ classMapping.synchronize = existingSyncs.Select(x => new HbmSynchronize { table = x }).ToArray();
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/TablesSincronizationTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/TablesSincronizationTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/TablesSincronizationTests.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -0,0 +1,62 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.ClassMapperTests
+{
+ public class TablesSincronizationTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ [Test]
+ public void WhenSetSyncWithNullThenDoesNotThrows()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Executing(x=>x.Synchronize(null)).NotThrows();
+ }
+
+ [Test]
+ public void WhenSetSyncMixedWithNullAndEmptyThenAddOnlyValid()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Synchronize("", " ATable ", " ", null);
+ mapdoc.RootClasses[0].Synchronize.Single().table.Should().Be("ATable");
+ }
+
+ [Test]
+ public void WhenSetMoreSyncThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Synchronize("T1", "T2", "T3", null);
+ mapdoc.RootClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3");
+ mapdoc.RootClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenDoesNotDuplicate()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3", "T2");
+ mapdoc.RootClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/TablesSincronizationTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/TablesSincronizationTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/TablesSincronizationTests.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -0,0 +1,66 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.JoinedSubclassMapperTests
+{
+ public class TablesSincronizationTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class InheritedSimple : EntitySimple
+ {
+ }
+ [Test]
+ public void WhenSetSyncWithNullThenDoesNotThrows()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Executing(x => x.Synchronize(null)).NotThrows();
+ }
+
+ [Test]
+ public void WhenSetSyncMixedWithNullAndEmptyThenAddOnlyValid()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("", " ATable ", " ", null);
+ mapdoc.JoinedSubclasses[0].Synchronize.Single().table.Should().Be("ATable");
+ }
+
+ [Test]
+ public void WhenSetMoreSyncThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2", "T3", null);
+ mapdoc.JoinedSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3");
+ mapdoc.JoinedSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenDoesNotDuplicate()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3", "T2");
+ mapdoc.JoinedSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/TablesSincronizationTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/TablesSincronizationTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/TablesSincronizationTests.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -0,0 +1,67 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.SubclassMapperTests
+{
+ public class TablesSincronizationTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class InheritedSimple : EntitySimple
+ {
+ }
+
+ [Test]
+ public void WhenSetSyncWithNullThenDoesNotThrows()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Executing(x => x.Synchronize(null)).NotThrows();
+ }
+
+ [Test]
+ public void WhenSetSyncMixedWithNullAndEmptyThenAddOnlyValid()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("", " ATable ", " ", null);
+ mapdoc.SubClasses[0].Synchronize.Single().table.Should().Be("ATable");
+ }
+
+ [Test]
+ public void WhenSetMoreSyncThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2", "T3", null);
+ mapdoc.SubClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3");
+ mapdoc.SubClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenDoesNotDuplicate()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3", "T2");
+ mapdoc.SubClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/TablesSincronizationTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/TablesSincronizationTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/TablesSincronizationTests.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -0,0 +1,67 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.UnionSubclassMapperTests
+{
+ public class TablesSincronizationTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class InheritedSimple : EntitySimple
+ {
+ }
+
+ [Test]
+ public void WhenSetSyncWithNullThenDoesNotThrows()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Executing(x => x.Synchronize(null)).NotThrows();
+ }
+
+ [Test]
+ public void WhenSetSyncMixedWithNullAndEmptyThenAddOnlyValid()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("", " ATable ", " ", null);
+ mapdoc.UnionSubclasses[0].Synchronize.Single().table.Should().Be("ATable");
+ }
+
+ [Test]
+ public void WhenSetMoreSyncThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2", "T3", null);
+ mapdoc.UnionSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3");
+ mapdoc.UnionSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenDoesNotDuplicate()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3", "T2");
+ mapdoc.UnionSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-14 19:31:59 UTC (rev 5702)
@@ -541,14 +541,18 @@
<Compile Include="MappingByCode\MappersTests\AbstractPropertyContainerMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\ClassMapperTests\ClassMapperWithJoinPropertiesTest.cs" />
<Compile Include="MappingByCode\MappersTests\ClassMapperTests\SetPersisterTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\ClassMapperTests\TablesSincronizationTests.cs" />
<Compile Include="MappingByCode\MappersTests\CollectionIdMapperTests.cs" />
<Compile Include="MappingByCode\MappersTests\FakeUserCollectionType.cs" />
<Compile Include="MappingByCode\MappersTests\IdBagMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\JoinedSubclassMapperTests\SetPersisterTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\JoinedSubclassMapperTests\TablesSincronizationTests.cs" />
<Compile Include="MappingByCode\MappersTests\JoinMapperTests.cs" />
<Compile Include="MappingByCode\MappersTests\SubclassMapperTests\SetPersisterTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\SubclassMapperTests\TablesSincronizationTests.cs" />
<Compile Include="MappingByCode\MappersTests\SubclassMapperWithJoinPropertiesTest.cs" />
<Compile Include="MappingByCode\MappersTests\UnionSubclassMapperTests\SetPersisterTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\UnionSubclassMapperTests\TablesSincronizationTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\ArrayCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\BagCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\ComponentsTests.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|