From: <dav...@us...> - 2009-04-21 19:06:56
|
Revision: 4193 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4193&view=rev Author: davybrion Date: 2009-04-21 19:06:39 +0000 (Tue, 21 Apr 2009) Log Message: ----------- made WeakHashtable and WeakRefWrapper serializable (NH-1750) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Util/WeakHashtable.cs trunk/nhibernate/src/NHibernate.Test/UtilityTest/WeakHashtableFixture.cs Modified: trunk/nhibernate/src/NHibernate/Util/WeakHashtable.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Util/WeakHashtable.cs 2009-04-21 18:47:14 UTC (rev 4192) +++ trunk/nhibernate/src/NHibernate/Util/WeakHashtable.cs 2009-04-21 19:06:39 UTC (rev 4193) @@ -8,6 +8,7 @@ // This class does not inherit from WeakReference but uses composition // instead to avoid requiring UnmanagedCode permission. [DebuggerTypeProxy(typeof(DictionaryProxy))] + [Serializable] public class WeakRefWrapper { private WeakReference reference; @@ -139,6 +140,7 @@ } } + [Serializable] public class WeakHashtable : IDictionary { private Hashtable innerHashtable = new Hashtable(); Modified: trunk/nhibernate/src/NHibernate.Test/UtilityTest/WeakHashtableFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/UtilityTest/WeakHashtableFixture.cs 2009-04-21 18:47:14 UTC (rev 4192) +++ trunk/nhibernate/src/NHibernate.Test/UtilityTest/WeakHashtableFixture.cs 2009-04-21 19:06:39 UTC (rev 4193) @@ -1,5 +1,8 @@ using System; using System.Collections; +using System.IO; +using System.Runtime.Serialization.Formatters.Binary; + using NHibernate.Util; using NUnit.Framework; @@ -102,5 +105,13 @@ Assert.IsFalse(new WeakRefWrapper(obj).Equals(null)); Assert.IsFalse(new WeakRefWrapper(obj).Equals(10)); } + + [Test] + public void IsSerializable() + { + WeakHashtable weakHashtable = new WeakHashtable(); + weakHashtable.Add("key", new object()); + NHAssert.IsSerializable(weakHashtable); + } } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |