From: <te...@us...> - 2009-09-21 02:05:16
|
Revision: 4720 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4720&view=rev Author: tehlike Date: 2009-09-21 02:04:47 +0000 (Mon, 21 Sep 2009) Log Message: ----------- Adding tests for NH-1963 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/CacheableQueryOnByteArray.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/DomainClass.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/CacheableQueryOnByteArray.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/CacheableQueryOnByteArray.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/CacheableQueryOnByteArray.cs 2009-09-21 02:04:47 UTC (rev 4720) @@ -0,0 +1,96 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using NHibernate.Dialect; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH1963 +{ + [TestFixture] + public class CacheableQueryOnByteArray : BugTestCase + { + protected override void OnSetUp() + { + base.OnSetUp(); + using (ISession session = this.OpenSession()) + { + DomainClass entity = new DomainClass(); + entity.Id = 1; + entity.ByteData = new byte[] {1, 2, 3}; + session.Save(entity); + session.Flush(); + } + } + + protected override void OnTearDown() + { + base.OnTearDown(); + using (ISession session = this.OpenSession()) + { + string hql = "from System.Object"; + session.Delete(hql); + session.Flush(); + } + } + + protected override bool AppliesTo(NHibernate.Dialect.Dialect dialect) + { + return dialect as MsSql2000Dialect != null; + } + + [Test,Ignore] + public void Should_be_able_to_do_cacheable_query_on_byte_array_field() + { + using (ISession session = this.OpenSession()) + { + var data = new byte[] { 1, 2, 3 }; + + var result = session.CreateQuery("from DomainClass d where d.ByteData = :data") + .SetParameter("data", data) + .SetCacheable(true) + .UniqueResult<DomainClass>(); + + Assert.IsNotNull(result); + } + + using (ISession session = this.OpenSession()) + { + var data = new byte[] { 1, 2, 3 }; + + var result = session.CreateQuery("from DomainClass d where d.ByteData = :data") + .SetParameter("data", data) + .SetCacheable(true) + .UniqueResult<DomainClass>(); + + Assert.IsNotNull(result); + } + } + + [Test] + public void Should_work_when_query_is_not_cachable() + { + using (ISession session = this.OpenSession()) + { + var data = new byte[] { 1, 2, 3 }; + + var result = session.CreateQuery("from DomainClass d where d.ByteData = :data") + .SetParameter("data", data) + .UniqueResult<DomainClass>(); + + Assert.IsNotNull(result); + } + + using (ISession session = this.OpenSession()) + { + var data = new byte[] { 1, 2, 3 }; + + var result = session.CreateQuery("from DomainClass d where d.ByteData = :data") + .SetParameter("data", data) + .UniqueResult<DomainClass>(); + + Assert.IsNotNull(result); + } + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/DomainClass.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/DomainClass.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/DomainClass.cs 2009-09-21 02:04:47 UTC (rev 4720) @@ -0,0 +1,22 @@ + + +namespace NHibernate.Test.NHSpecificTest.NH1963 +{ + public class DomainClass + { + private byte[] byteData; + private int id; + + public int Id + { + get { return id; } + set { id = value; } + } + + public byte[] ByteData + { + get { return byteData; } + set { byteData = value; } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1963/Mappings.hbm.xml 2009-09-21 02:04:47 UTC (rev 4720) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH1963" default-access="field.camelcase" + default-lazy="false"> + <class name="DomainClass"> + <id name="Id"> + <generator class="assigned" /> + </id> + <property name="ByteData"/> + </class> +</hibernate-mapping> \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-09-21 01:57:56 UTC (rev 4719) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-09-21 02:04:47 UTC (rev 4720) @@ -603,6 +603,8 @@ <Compile Include="NHSpecificTest\NH1938\Model.cs" /> <Compile Include="NHSpecificTest\NH1939\AuxType.cs" /> <Compile Include="NHSpecificTest\NH1939\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH1963\CacheableQueryOnByteArray.cs" /> + <Compile Include="NHSpecificTest\NH1963\DomainClass.cs" /> <Compile Include="NHSpecificTest\NH1969\DummyEntity.cs" /> <Compile Include="NHSpecificTest\NH1969\EntityWithTypeProperty.cs" /> <Compile Include="NHSpecificTest\NH1969\Fixture.cs" /> @@ -2020,6 +2022,7 @@ <EmbeddedResource Include="Criteria\Lambda\Mappings.hbm.xml" /> <EmbeddedResource Include="CfgTest\Loquacious\EntityToCache.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH1963\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1969\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1922\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\CriteriaQueryOnComponentCollection\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |