From abb97797a2142c8c9fecd5ed0b24e400c6c59238 Mon Sep 17 00:00:00 2001 From: Jb Evain Date: Wed, 24 Sep 2008 13:33:27 +0000 Subject: [PATCH] 2008-09-24 Jb Evain * DictionaryTest.cs: add tests for bug #429530. svn path=/trunk/mcs/; revision=113953 --- .../Test/System.Collections.Generic/ChangeLog | 4 ++ .../DictionaryTest.cs | 63 +++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/mcs/class/corlib/Test/System.Collections.Generic/ChangeLog b/mcs/class/corlib/Test/System.Collections.Generic/ChangeLog index b8f9e657117..26dd9b7bffb 100644 --- a/mcs/class/corlib/Test/System.Collections.Generic/ChangeLog +++ b/mcs/class/corlib/Test/System.Collections.Generic/ChangeLog @@ -1,3 +1,7 @@ +2008-09-24 Jb Evain + + * DictionaryTest.cs: add tests for bug #429530. + 2008-09-12 Jb Evain * DictionaryTest.cs: add tests for #425693. diff --git a/mcs/class/corlib/Test/System.Collections.Generic/DictionaryTest.cs b/mcs/class/corlib/Test/System.Collections.Generic/DictionaryTest.cs index fc2c94b12ec..a54b8bf527b 100644 --- a/mcs/class/corlib/Test/System.Collections.Generic/DictionaryTest.cs +++ b/mcs/class/corlib/Test/System.Collections.Generic/DictionaryTest.cs @@ -797,6 +797,69 @@ namespace MonoTests.System.Collections.Generic { comp = s; Assert.IsTrue (Object.ReferenceEquals (s1, comp)); } + + [Test] + public void ResetKeysEnumerator () + { + Dictionary test = new Dictionary (); + test.Add ("monkey", "singe"); + test.Add ("singe", "mono"); + test.Add ("mono", "monkey"); + + IEnumerator enumerator = test.Keys.GetEnumerator (); + + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsTrue (enumerator.MoveNext ()); + + enumerator.Reset (); + + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsFalse (enumerator.MoveNext ()); + } + + [Test] + public void ResetValuesEnumerator () + { + Dictionary test = new Dictionary (); + test.Add ("monkey", "singe"); + test.Add ("singe", "mono"); + test.Add ("mono", "monkey"); + + IEnumerator enumerator = test.Values.GetEnumerator (); + + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsTrue (enumerator.MoveNext ()); + + enumerator.Reset (); + + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsFalse (enumerator.MoveNext ()); + } + + [Test] + public void ResetShimEnumerator () + { + IDictionary test = new Dictionary (); + test.Add ("monkey", "singe"); + test.Add ("singe", "mono"); + test.Add ("mono", "monkey"); + + IEnumerator enumerator = test.GetEnumerator (); + + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsTrue (enumerator.MoveNext ()); + + enumerator.Reset (); + + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsTrue (enumerator.MoveNext ()); + Assert.IsFalse (enumerator.MoveNext ()); + } } } -- 2.25.1