Skip to content

Commit

Permalink
Merge branch 'fix216' of https://github.com/icambron/fluent-nhibernate
Browse files Browse the repository at this point in the history
…into icambron-fix216

Conflicts:
	src/FluentNHibernate.Testing/FluentNHibernate.Testing.csproj
  • Loading branch information
jagregory committed Aug 9, 2011
2 parents 08f59be + c34d320 commit 3bf3266
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,17 @@ public void RegularAutoMappingsStillWorkWhenOverridesApplied()
new AutoMappingTester<Baz>(model)
.Element("class/property[@name='Name']").Exists();
}

[Test]
public void OverridesCanBeAbstract()
{
var model = AutoMap.AssemblyOf<Qux>()
.Where(t => t.Namespace == typeof(Qux).Namespace);

alteration.Alter(model);

new AutoMappingTester<Qux>(model)
.Element("class").HasAttribute("batch-size", "10");
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using FluentNHibernate.Automapping;
using FluentNHibernate.Automapping.Alterations;

namespace FluentNHibernate.Testing.Fixtures.AutoMappingAlterations
{
public abstract class AbstractOveride<T> : IAutoMappingOverride<T>
{
public void Override(AutoMapping<T> mapping)
{
mapping.BatchSize(10);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using FluentNHibernate.Testing.Fixtures.AutoMappingAlterations.Model;

namespace FluentNHibernate.Testing.Fixtures.AutoMappingAlterations
{
public class AbstractOverrideImplementation : AbstractOveride<Qux>
{

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace FluentNHibernate.Testing.Fixtures.AutoMappingAlterations.Model
{
public class Qux
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
}
7 changes: 5 additions & 2 deletions src/FluentNHibernate.Testing/FluentNHibernate.Testing.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,15 @@
<Compile Include="AutoMapping\Overrides\ClassMappingOverrides.cs" />
<Compile Include="AutoMapping\Overrides\CompositeIdOverrides.cs" />
<Compile Include="AutoMapping\Overrides\HibernateMappingOverrides.cs" />
<Compile Include="AutoMapping\Overrides\ParentOverridesWithSubclasses.cs" />
<Compile Include="DomainModel\MemberAccessResolverTests.cs" />
<Compile Include="DomainModel\MemberBackingFieldTests.cs" />
<Compile Include="DomainModel\NamingTests.cs" />
<Compile Include="AutoMapping\Overrides\ParentOverridesWithSubclasses.cs" />
<Compile Include="AutoMapping\UnionSubclassConventionTests.cs" />
<Compile Include="AutoMapping\UnionSubclassTests.cs" />
<Compile Include="AutoMapping\UnionSubclassTests.cs" />
<Compile Include="Fixtures\AutoMappingAlterations\AbstractOverride.cs" />
<Compile Include="Fixtures\AutoMappingAlterations\AbstractOverrideImplementation.cs" />
<Compile Include="Fixtures\AutoMappingAlterations\Model\Qux.cs" />
<Compile Include="StubTypeSource.cs" />
<Compile Include="AutoMapping\TestFixtures.cs" />
<Compile Include="Cfg\Db\DB2ConfigurationTester.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public void Alter(AutoPersistenceModel model)
{
// find all types deriving from IAutoMappingOverride<T>
var types = from type in assembly.GetExportedTypes()
where !type.IsAbstract
let entity = (from interfaceType in type.GetInterfaces()
where interfaceType.IsGenericType && interfaceType.GetGenericTypeDefinition() == typeof(IAutoMappingOverride<>)
select interfaceType.GetGenericArguments()[0]).FirstOrDefault()
Expand Down

0 comments on commit 3bf3266

Please sign in to comment.