From: <dav...@us...> - 2009-07-26 15:24:42
|
Revision: 4658 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4658&view=rev Author: davybrion Date: 2009-07-26 15:24:33 +0000 (Sun, 26 Jul 2009) Log Message: ----------- applying patch from Armin Landscheidt to fix NH-1902 Modified Paths: -------------- branches/2.1.x/nhibernate/src/NHibernate/Criterion/Example.cs branches/2.1.x/nhibernate/src/NHibernate.Test/ExpressionTest/QueryByExampleTest.cs Property Changed: ---------------- branches/2.1.x/nhibernate/src/ Property changes on: branches/2.1.x/nhibernate/src ___________________________________________________________________ Added: svn:mergeinfo + /trunk/nhibernate/src:4657 Modified: branches/2.1.x/nhibernate/src/NHibernate/Criterion/Example.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate/Criterion/Example.cs 2009-07-26 15:07:33 UTC (rev 4657) +++ branches/2.1.x/nhibernate/src/NHibernate/Criterion/Example.cs 2009-07-26 15:24:33 UTC (rev 4658) @@ -481,7 +481,7 @@ { bool isString = propertyValue is String; crit = (_isLikeEnabled && isString) ? - (ICriterion) new LikeExpression(propertyName, propertyValue.ToString(), escapeCharacter, _isIgnoreCaseEnabled) : + (ICriterion) new LikeExpression(propertyName, propertyValue.ToString(), _matchMode, escapeCharacter, _isIgnoreCaseEnabled) : new SimpleExpression(propertyName, propertyValue, " = ", _isIgnoreCaseEnabled && isString); } else Modified: branches/2.1.x/nhibernate/src/NHibernate.Test/ExpressionTest/QueryByExampleTest.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate.Test/ExpressionTest/QueryByExampleTest.cs 2009-07-26 15:07:33 UTC (rev 4657) +++ branches/2.1.x/nhibernate/src/NHibernate.Test/ExpressionTest/QueryByExampleTest.cs 2009-07-26 15:24:33 UTC (rev 4658) @@ -42,6 +42,51 @@ } [Test] + public void TestEnableLikeWithMatchmodeStart() { + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) { + Componentizable master = GetMaster("hib", null, "open source1"); + ICriteria crit = s.CreateCriteria(typeof(Componentizable)); + Example ex = Example.Create(master).EnableLike(MatchMode.Start); + crit.Add(ex); + IList result = crit.List(); + Assert.IsNotNull(result); + Assert.AreEqual(1, result.Count); + t.Commit(); + } + } + + [Test] + public void TestEnableLikeWithMatchmodeEnd() { + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) { + Componentizable master = GetMaster("nate", null, "ORM tool1"); + ICriteria crit = s.CreateCriteria(typeof(Componentizable)); + Example ex = Example.Create(master).EnableLike(MatchMode.End); + crit.Add(ex); + IList result = crit.List(); + Assert.IsNotNull(result); + Assert.AreEqual(1, result.Count); + t.Commit(); + } + } + + [Test] + public void TestEnableLikeWithMatchmodeAnywhere() { + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) { + Componentizable master = GetMaster("bern", null, null); + ICriteria crit = s.CreateCriteria(typeof(Componentizable)); + Example ex = Example.Create(master).EnableLike(MatchMode.Anywhere); + crit.Add(ex); + IList result = crit.List(); + Assert.IsNotNull(result); + Assert.AreEqual(3, result.Count); + t.Commit(); + } + } + + [Test] public void TestJunctionNotExpressionQBE() { using (ISession s = OpenSession()) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |