public void DictionaryEnumerator_Reset_YieldsFirstItemAgain() { var dic = new OrderedDictionary <string, string>(); dic.Add("a", "string1"); dic.Add("b", "string2"); var enumerator = new DictionaryEnumerator <string, string>(dic); enumerator.MoveNext(); var firstValue = enumerator.Value; enumerator.Reset(); enumerator.MoveNext(); var firstValueAfterReset = enumerator.Value; Assert.AreEqual(firstValue, firstValueAfterReset); }
public void DictionaryEnumerator_PropertyCheck() { var dic = new OrderedDictionary <string, string>(); dic.Add("a", "string1"); dic.Add("b", "string2"); var enumerator = new DictionaryEnumerator <string, string>(dic); enumerator.MoveNext(); Assert.AreEqual("a", enumerator.Key); Assert.AreEqual("string1", enumerator.Value); }
private void CopyToArray([NotNull] Array arr, int i, EnumeratorMode mode) { if (arr == null) throw new ArgumentNullException(nameof(arr)); if (i < 0 || i + this.Count > arr.Length) throw new ArgumentOutOfRangeException(nameof(i)); IEnumerator it = new DictionaryEnumerator(this, mode); while (it.MoveNext()) { arr.SetValue(it.Current, i++); } }