|
From: <fab...@us...> - 2011-05-12 19:48:56
|
Revision: 5815
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5815&view=rev
Author: fabiomaulo
Date: 2011-05-12 19:48:50 +0000 (Thu, 12 May 2011)
Log Message:
-----------
Demonstration for NH-2546
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Model.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/SetCommandParameterSizesFalseFixture.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Mappings.hbm.xml 2011-05-12 19:48:50 UTC (rev 5815)
@@ -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.NHSpecificTest.NH2546">
+
+ <class name="Student">
+ <id name="Id">
+ <generator class="native" />
+ </id>
+ <property name="StringTypeWithLengthDefined" type="String(15)"/>
+ </class>
+
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Model.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Model.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Model.cs 2011-05-12 19:48:50 UTC (rev 5815)
@@ -0,0 +1,8 @@
+namespace NHibernate.Test.NHSpecificTest.NH2546
+{
+ public class Student
+ {
+ public virtual int Id { get; set; }
+ public virtual string StringTypeWithLengthDefined { get; set; }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/SetCommandParameterSizesFalseFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/SetCommandParameterSizesFalseFixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/SetCommandParameterSizesFalseFixture.cs 2011-05-12 19:48:50 UTC (rev 5815)
@@ -0,0 +1,61 @@
+using System.Collections.Generic;
+using NUnit.Framework;
+using NHibernate.Criterion;
+
+namespace NHibernate.Test.NHSpecificTest.NH2546
+{
+ [TestFixture]
+ public class SetCommandParameterSizesFalseFixture : BugTestCase
+ {
+ protected override void OnSetUp()
+ {
+ using (ISession session = Sfi.OpenSession())
+ {
+ session.Persist(new Student() { StringTypeWithLengthDefined = "Julian Maughan" });
+ session.Persist(new Student() { StringTypeWithLengthDefined = "Bill Clinton" });
+ session.Flush();
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ using (ISession session = Sfi.OpenSession())
+ {
+ session.CreateQuery("delete from Student").ExecuteUpdate();
+ session.Flush();
+ }
+ base.OnTearDown();
+ }
+
+ [Test]
+ public void LikeExpressionWithinDefinedTypeSize()
+ {
+ using (ISession session = Sfi.OpenSession())
+ {
+ ICriteria criteria = session
+ .CreateCriteria<Student>()
+ .Add(Restrictions.Like("StringTypeWithLengthDefined", "Julian%"));
+
+ IList<Student> list = criteria.List<Student>();
+
+ Assert.That(list.Count, Is.EqualTo(1));
+ }
+ }
+
+ [Test]
+ public void LikeExpressionExceedsDefinedTypeSize()
+ {
+ // In this case we are forcing the usage of LikeExpression class where the length of the associated property is ignored
+ using (ISession session = Sfi.OpenSession())
+ {
+ ICriteria criteria = session
+ .CreateCriteria<Student>()
+ .Add(Restrictions.Like("StringTypeWithLengthDefined", "[a-z][a-z][a-z]ian%", MatchMode.Exact, null));
+
+ IList<Student> list = criteria.List<Student>();
+
+ Assert.That(list.Count, Is.EqualTo(1));
+ }
+ }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-12 18:42:54 UTC (rev 5814)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-12 19:48:50 UTC (rev 5815)
@@ -794,6 +794,8 @@
<Compile Include="NHSpecificTest\NH2527\Model.cs" />
<Compile Include="NHSpecificTest\NH2530\Domain.cs" />
<Compile Include="NHSpecificTest\NH2530\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2546\Model.cs" />
+ <Compile Include="NHSpecificTest\NH2546\SetCommandParameterSizesFalseFixture.cs" />
<Compile Include="NHSpecificTest\NH2554\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2554\Model.cs" />
<Compile Include="NHSpecificTest\NH2565\Domain.cs" />
@@ -2667,6 +2669,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\NH2546\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2697\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1642\Mappings.hbm.xml" />
<EmbeddedResource Include="Stateless\Contact.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|