|
From: <fab...@us...> - 2011-04-13 21:57:20
|
Revision: 5696
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5696&view=rev
Author: fabiomaulo
Date: 2011-04-13 21:57:13 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Added passing tests
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs 2011-04-13 21:57:13 UTC (rev 5696)
@@ -0,0 +1,40 @@
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
+{
+ public class VersionOnBaseClassIntegrationTest
+ {
+ private class BaseEntity
+ {
+ public int Id { get; set; }
+ public int Version { get; set; }
+ }
+
+ private class Person : BaseEntity
+ {
+ }
+
+ [Test]
+ public void WhenPropertyVersionFromBaseEntityThenFindItAsVersion()
+ {
+ var mapper = new ConventionModelMapper();
+ var baseEntityType = typeof(BaseEntity);
+ mapper.IsEntity((t, declared) => baseEntityType.IsAssignableFrom(t) && baseEntityType != t && !t.IsInterface);
+ mapper.IsRootEntity((t, declared) => baseEntityType.Equals(t.BaseType));
+ mapper.Class<BaseEntity>(
+ map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Version(x => x.Version, vm => { });
+ });
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(Person) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmVersion = hbmClass.Version;
+ hbmVersion.Should().Not.Be.Null();
+ hbmVersion.name.Should().Be("Version");
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs 2011-04-13 20:35:38 UTC (rev 5695)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs 2011-04-13 21:57:13 UTC (rev 5696)
@@ -11,9 +11,12 @@
public int Id { get; set; }
public int Version { get; set; }
}
+ private class MyRoot: MyClass
+ {
+ }
[Test]
- public void WhenPropertyUsedAsPoidThenRegister()
+ public void WhenPropertyUsedAsVersionThenRegister()
{
var inspector = new ExplicitlyDeclaredModel();
var mapper = new ModelMapper(inspector);
@@ -26,5 +29,20 @@
inspector.IsVersion(For<MyClass>.Property(x => x.Version)).Should().Be.True();
}
+
+ [Test]
+ public void WhenPropertyVersionFromBaseEntityThenFindItAsVersion()
+ {
+ var inspector = new ExplicitlyDeclaredModel();
+ var mapper = new ModelMapper(inspector);
+ mapper.Class<MyClass>(
+ map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Version(x => x.Version, vm => { });
+ });
+
+ inspector.IsVersion(For<MyRoot>.Property(x => x.Version)).Should().Be.True();
+ }
}
}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs 2011-04-13 21:57:13 UTC (rev 5696)
@@ -0,0 +1,34 @@
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MixAutomapping
+{
+ public class InheritedVersionTest
+ {
+ private class BaseEntity
+ {
+ public int Id { get; set; }
+ public int Version { get; set; }
+ }
+
+ private class Person : BaseEntity
+ {
+ }
+
+ [Test]
+ public void WhenPropertyVersionFromBaseEntityThenFindItAsVersion()
+ {
+ var inspector = (IModelInspector)new SimpleModelInspector();
+ var mapper = new ModelMapper(inspector);
+ mapper.Class<BaseEntity>(
+ map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Version(x => x.Version, vm => { });
+ });
+
+ inspector.IsVersion(For<Person>.Property(x => x.Version)).Should().Be.True();
+ }
+ }
+}
\ 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-13 20:35:38 UTC (rev 5695)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 21:57:13 UTC (rev 5696)
@@ -513,6 +513,7 @@
<Compile Include="Logging\LoggerProviderTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\PropertyToFieldAccessorTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\SafePoidTests.cs" />
+ <Compile Include="MappingByCode\ConventionModelMapperTests\VersionOnBaseClassIntegrationTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\BagOfNestedComponentsWithParentTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ClassWithComponentsTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ConformistMappingRegistrationTests\ClassMappingRegistrationTest.cs" />
@@ -550,6 +551,7 @@
<Compile Include="MappingByCode\MixAutomapping\DefaultClassHierarchyRepresentationTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\DictionaryCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\EntityTests.cs" />
+ <Compile Include="MappingByCode\MixAutomapping\InheritedVersionTest.cs" />
<Compile Include="MappingByCode\MixAutomapping\ManyToOneTest.cs" />
<Compile Include="MappingByCode\MixAutomapping\OneToManyTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\PoidTests.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|