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