|
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.
|