using System;\r
using System.Collections;\r
using System.Reflection;\r
+using System.Threading;\r
+using System.Globalization;\r
using System.Runtime.Remoting;\r
using System.Runtime.Remoting.Messaging;\r
using System.Runtime.Serialization;\r
using System.Runtime.Remoting.Metadata.W3cXsd2001;\r
using System.IO;\r
using NUnit.Framework;\r
+using System.Collections.Generic;\r
\r
namespace MonoTests.System.Runtime.Serialization.Formatters.Soap {\r
\r
private string _string;\r
private string[] _strings = new string[]{};\r
private Queue _queue = new Queue();\r
- public Hashtable _table = new Hashtable();\r
+ public Dictionary<object, object> _table = new Dictionary<object, object> ();\r
\r
public string ObjString {\r
get { return _string; }\r
MoreComplexObject objReturn = obj as MoreComplexObject;\r
if(objReturn == null) return false;\r
if(objReturn._string != this._string) return false;\r
- IEnumerator myEnum = this._table.GetEnumerator();\r
- foreach(DictionaryEntry e in objReturn._table) {\r
- myEnum.MoveNext();\r
- DictionaryEntry s = (DictionaryEntry) myEnum.Current;\r
- Assertion.AssertEquals("#_table", s.Key, e.Key);\r
- Assertion.AssertEquals("#_table", s.Value, e.Value);\r
- if(s.Key.ToString() != e.Key.ToString() || s.Value.ToString() != e.Value.ToString()) return false;\r
+\r
+ Assert.AreEqual (_table.Count, objReturn._table.Count, "#1");\r
+ foreach(var e in objReturn._table) {\r
+ Assert.AreEqual (e.Value, _table[e.Key], e.Key.ToString ());\r
}\r
-// Assertion.Assert("#_table is null", objReturn._table != null);\r
-// Console.WriteLine("_table[foo]: {0}", objReturn._table["foo"]);\r
-// Assertion.AssertEquals("#_table[\"foo\"]", "barr", objReturn._table["foo"]);\r
-// Console.WriteLine("_table[1]: {0}", objReturn._table[1]);\r
-// Assertion.AssertEquals("#_table[1]", "foo", objReturn._table[1]);\r
-// Console.WriteLine("_table['c']: {0}", objReturn._table['c']);\r
-// Assertion.AssertEquals("#_table['c']", "barr", objReturn._table['c']);\r
-// Console.WriteLine("_table[barr]: {0}", objReturn._table["barr"]);\r
-// Assertion.AssertEquals("#_table[\"barr\"]", 1234567890, objReturn._table["barr"]);\r
return SoapFormatterTest.CheckArray(this._queue.ToArray(), objReturn._queue.ToArray());\r
- \r
}\r
\r
}\r
Assertion.AssertEquals ("#6", typeof(string), ts[0]);\r
Assertion.AssertEquals ("#7", typeof(SignatureTest[]), ts[1]);\r
}\r
+\r
+ [Test]\r
+ public void TestCulture ()\r
+ {\r
+ var currentCulture = Thread.CurrentThread.CurrentCulture;\r
+ try {\r
+ Thread.CurrentThread.CurrentCulture = new CultureInfo ("de-DE");\r
+\r
+ var ms = new MemoryStream ();\r
+ var test = new CultureTest ();\r
+\r
+ _soapFormatter.Serialize(ms, test);\r
+ ms.Position = 0;\r
+ _soapFormatter.Deserialize(ms);\r
+ } finally {\r
+ Thread.CurrentThread.CurrentCulture = currentCulture;\r
+ }\r
+ }\r
+\r
+ [Serializable]\r
+ public class CultureTest\r
+ {\r
+ [OnDeserialized]\r
+ public void OnDeserialization (StreamingContext context)\r
+ {\r
+ var ci = Thread.CurrentThread.CurrentCulture;\r
+ Assertion.AssertEquals("#1", "German (Germany)", ci.EnglishName);\r
+ }\r
+ \r
+ [OnSerialized]\r
+ public void OnSerialized (StreamingContext context)\r
+ {\r
+ var ci = Thread.CurrentThread.CurrentCulture;\r
+ Assertion.AssertEquals("#2", "German (Germany)", ci.EnglishName);\r
+ }\r
+ }\r
}\r
\r
[Serializable]\r