From: <fab...@us...> - 2009-10-15 15:56:50
|
Revision: 4757 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4757&view=rev Author: fabiomaulo Date: 2009-10-15 15:56:44 +0000 (Thu, 15 Oct 2009) Log Message: ----------- BackPort from r4756 (fix NH-1963) Modified Paths: -------------- branches/2.1.x/nhibernate/src/NHibernate/Engine/TypedValue.cs branches/2.1.x/nhibernate/src/NHibernate.Test/EngineTest/TypedValueFixture.cs Modified: branches/2.1.x/nhibernate/src/NHibernate/Engine/TypedValue.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate/Engine/TypedValue.cs 2009-10-15 15:55:27 UTC (rev 4756) +++ branches/2.1.x/nhibernate/src/NHibernate/Engine/TypedValue.cs 2009-10-15 15:56:44 UTC (rev 4757) @@ -22,7 +22,7 @@ this.type = type; this.value = value; ICollection values = value as ICollection; - if (!type.IsCollectionType && values != null) + if (!type.IsCollectionType && values != null && !type.ReturnedClass.IsArray) comparer = new ParameterListComparer(entityMode); else comparer = new DefaultComparer(entityMode); @@ -38,6 +38,11 @@ get { return type; } } + public IEqualityComparer<TypedValue> Comparer + { + get { return comparer; } + } + public override int GetHashCode() { return comparer.GetHashCode(this); @@ -54,7 +59,7 @@ } [Serializable] - private class ParameterListComparer : IEqualityComparer<TypedValue> + public class ParameterListComparer : IEqualityComparer<TypedValue> { private readonly EntityMode entityMode; @@ -118,7 +123,7 @@ } [Serializable] - private class DefaultComparer : IEqualityComparer<TypedValue> + public class DefaultComparer : IEqualityComparer<TypedValue> { private readonly EntityMode entityMode; Modified: branches/2.1.x/nhibernate/src/NHibernate.Test/EngineTest/TypedValueFixture.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate.Test/EngineTest/TypedValueFixture.cs 2009-10-15 15:55:27 UTC (rev 4756) +++ branches/2.1.x/nhibernate/src/NHibernate.Test/EngineTest/TypedValueFixture.cs 2009-10-15 15:56:44 UTC (rev 4757) @@ -27,5 +27,16 @@ { Assert.AreEqual("null", new TypedValue(NHibernateUtil.Int32, null, EntityMode.Poco).ToString()); } + + [Test] + public void WhenTheTypeIsAnArray_ChoseTheDefaultComparer() + { + byte[] value = new byte[]{1,2,3}; + + + var tv = new TypedValue(NHibernateUtil.BinaryBlob, value, EntityMode.Poco); + + Assert.That(tv.Comparer, Is.TypeOf<TypedValue.DefaultComparer>()); + } } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |