From: <dar...@us...> - 2009-05-19 13:00:06
|
Revision: 4349 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4349&view=rev Author: darioquintana Date: 2009-05-19 12:59:37 +0000 (Tue, 19 May 2009) Log Message: ----------- Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/LazyProperty/ trunk/nhibernate/src/NHibernate.Test/LazyProperty/Book.cs trunk/nhibernate/src/NHibernate.Test/LazyProperty/LazyPropertyFixture.cs trunk/nhibernate/src/NHibernate.Test/LazyProperty/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/LazyProperty/Book.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/LazyProperty/Book.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/LazyProperty/Book.cs 2009-05-19 12:59:37 UTC (rev 4349) @@ -0,0 +1,16 @@ +namespace NHibernate.Test.LazyProperty +{ + public class Book + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + + private string _aLotOfText; + + public virtual string ALotOfText + { + get { return _aLotOfText; } + set { _aLotOfText = value; } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/LazyProperty/LazyPropertyFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/LazyProperty/LazyPropertyFixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/LazyProperty/LazyPropertyFixture.cs 2009-05-19 12:59:37 UTC (rev 4349) @@ -0,0 +1,67 @@ +using System.Collections; +using NUnit.Framework; + +namespace NHibernate.Test.LazyProperty +{ + [TestFixture] + public class LazyPropertyFixture : TestCase + { + protected override string MappingsAssembly + { + get { return "NHibernate.Test"; } + } + + protected override IList Mappings + { + get { return new[] {"LazyProperty.Mappings.hbm.xml"}; } + } + + public void LoadData() + { + Book b = new Book + { + Name = "some name", + ALotOfText = "a lot of text ..." + }; + + using(var s = OpenSession()) + using(var tx = s.BeginTransaction()) + { + s.Persist(b); + tx.Commit(); + } + + } + + public void CleanUp() + { + using (var s = OpenSession()) + using (var tx = s.BeginTransaction()) + { + Assert.That(s.CreateSQLQuery("delete from Book").ExecuteUpdate(), Is.EqualTo(1)); + tx.Commit(); + } + } + + [Test,Ignore("Not supported yet, waiting for a field-interceptor provider, probably Linfu.")] + public void PropertyLoadedNotInitialized() + { + LoadData(); + + using(ISession s = OpenSession()) + { + var book = s.Load<Book>(1); + + Assert.False(NHibernateUtil.IsPropertyInitialized(book, "Id")); + Assert.False(NHibernateUtil.IsPropertyInitialized(book, "Name")); + Assert.False(NHibernateUtil.IsPropertyInitialized(book, "ALotOfText")); + var name = book.Name; + Assert.True(NHibernateUtil.IsPropertyInitialized(book, "Id")); + Assert.True(NHibernateUtil.IsPropertyInitialized(book, "Name")); + Assert.False(NHibernateUtil.IsPropertyInitialized(book, "ALotOfText")); + } + + CleanUp(); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/LazyProperty/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/LazyProperty/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/LazyProperty/Mappings.hbm.xml 2009-05-19 12:59:37 UTC (rev 4349) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.LazyProperty"> + + <class name="Book"> + <id name="Id"> + <generator class="native" /> + </id> + <property name="Name" /> + <property name="ALotOfText" lazy="true" /> + </class> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-05-19 12:04:26 UTC (rev 4348) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-05-19 12:59:37 UTC (rev 4349) @@ -332,6 +332,8 @@ <Compile Include="LazyOneToOne\Employment.cs" /> <Compile Include="LazyOneToOne\LazyOneToOneTest.cs" /> <Compile Include="LazyOneToOne\Person.cs" /> + <Compile Include="LazyProperty\Book.cs" /> + <Compile Include="LazyProperty\LazyPropertyFixture.cs" /> <Compile Include="MappingTest\NonReflectiveBinderFixture.cs" /> <Compile Include="MappingTest\Wicked.cs" /> <Compile Include="NHSpecificTest\ElementsEnums\AbstractIntEnumsBagFixture.cs" /> @@ -1819,6 +1821,7 @@ <EmbeddedResource Include="BulkManipulation\SimpleClass.hbm.xml" /> <EmbeddedResource Include="Ado\VerySimple.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="LazyProperty\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1783\Mappings.hbm.xml" /> <EmbeddedResource Include="LazyOneToOne\Person.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1747\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |