From: <fab...@us...> - 2011-04-20 12:12:29
|
Revision: 5723 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5723&view=rev Author: fabiomaulo Date: 2011-04-20 12:12:23 +0000 (Wed, 20 Apr 2011) Log Message: ----------- Apply accessor on component property Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ComponetsAccessorTests.cs Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-19 18:56:09 UTC (rev 5722) +++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-20 12:12:23 UTC (rev 5723) @@ -22,6 +22,9 @@ BeforeMapProperty += MemberNoSetterToField; BeforeMapProperty += MemberReadOnlyAccessor; + BeforeMapComponent += MemberToFieldAccessor; + BeforeMapComponent += MemberNoSetterToField; + BeforeMapComponent += MemberReadOnlyAccessor; BeforeMapComponent += ComponentParentToFieldAccessor; BeforeMapComponent += ComponentParentNoSetterToField; Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ComponetsAccessorTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ComponetsAccessorTests.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ComponetsAccessorTests.cs 2011-04-20 12:12:23 UTC (rev 5723) @@ -0,0 +1,51 @@ +using System.Linq; +using NHibernate.Cfg.MappingSchema; +using NHibernate.Mapping.ByCode; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests +{ + public class ComponetsAccessorTests + { + private class MyClass + { + public int Id { get; set; } + private MyCompo compo; + public MyCompo Compo + { + get { return compo; } + } + } + + private class MyCompo + { + public string Something { get; set; } + } + private HbmMapping GetMappingWithParentInCompo() + { + var mapper = new ConventionModelMapper(); + mapper.Class<MyClass>(x => + { + x.Id(c => c.Id); + x.Component(c => c.Compo); + }); + mapper.Component<MyCompo>(x => + { + x.Property(c => c.Something); + }); + return mapper.CompileMappingForAllExplicitAddedEntities(); + } + + [Test] + public void WhenMapComoponetWithNestBidirectionalComponentThenMapParentAccessor() + { + HbmMapping mapping = GetMappingWithParentInCompo(); + + var hbmClass = mapping.RootClasses[0]; + var hbmMyCompo = hbmClass.Properties.OfType<HbmComponent>().Single(); + + hbmMyCompo.Access.Should().Contain("camelcase"); + } + } +} \ 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-19 18:56:09 UTC (rev 5722) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-20 12:12:23 UTC (rev 5723) @@ -511,6 +511,7 @@ <Compile Include="Linq\ByMethod\SumTests.cs" /> <Compile Include="Logging\Log4NetLoggerTest.cs" /> <Compile Include="Logging\LoggerProviderTest.cs" /> + <Compile Include="MappingByCode\ConventionModelMapperTests\ComponetsAccessorTests.cs" /> <Compile Include="MappingByCode\ConventionModelMapperTests\ComponetsParentAccessorTests.cs" /> <Compile Include="MappingByCode\ConventionModelMapperTests\PropertyToFieldAccessorTest.cs" /> <Compile Include="MappingByCode\ConventionModelMapperTests\SafePoidTests.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |