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