// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System; using System.Collections.Generic; /// /// ValueCollection.System.Collections.Generic.IEnumerator.GetEnumerator /// public class ValueCollectionGenericIEnumerableGetEnumerator { public static int Main() { ValueCollectionGenericIEnumerableGetEnumerator valCollectGenericIEnumerableGetEnumerator = new ValueCollectionGenericIEnumerableGetEnumerator(); TestLibrary.TestFramework.BeginTestCase("ValueCollectionGenericIEnumerableGetEnumerator"); if (valCollectGenericIEnumerableGetEnumerator.RunTests()) { TestLibrary.TestFramework.EndTestCase(); TestLibrary.TestFramework.LogInformation("PASS"); return 100; } else { TestLibrary.TestFramework.EndTestCase(); TestLibrary.TestFramework.LogInformation("FAIL"); return 0; } } public bool RunTests() { bool retVal = true; TestLibrary.TestFramework.LogInformation("[Positive]"); retVal = PosTest1() && retVal; retVal = PosTest2() && retVal; return retVal; } #region PositiveTest public bool PosTest1() { bool retVal = true; TestLibrary.TestFramework.BeginScenario("PosTest1:Invoke the method GetEnumerator in ValueCollection Generic IEnumerable 1"); try { Dictionary dic = new Dictionary(); dic.Add("str1", "Test1"); dic.Add("str2", "Test2"); IEnumerable ienumer = (IEnumerable)new Dictionary.ValueCollection(dic); IEnumerator ienumerator = ienumer.GetEnumerator(); Dictionary.Enumerator dicEnumer = dic.GetEnumerator(); while (ienumerator.MoveNext() && dicEnumer.MoveNext()) { if (!ienumerator.Current.Equals(dicEnumer.Current.Value)) { TestLibrary.TestFramework.LogError("001", "the ExpecResult is not the ActualResult"); retVal = false; } } } catch (Exception e) { TestLibrary.TestFramework.LogError("002", "Unexpect exception:" + e); retVal = false; } return retVal; } public bool PosTest2() { bool retVal = true; TestLibrary.TestFramework.BeginScenario("PosTest2:Invoke the method GetEnumerator in ValueCollection Generic IEnumerable 2"); try { Dictionary dic = new Dictionary(); TestClass TKey1 = new TestClass(); TestClass TVal1 = new TestClass(); TestClass TKey2 = new TestClass(); TestClass TVal2 = new TestClass(); dic.Add(TKey1, TVal1); dic.Add(TKey2, TVal2); IEnumerable ienumer = (IEnumerable)new Dictionary.ValueCollection(dic); IEnumerator ienumerator = ienumer.GetEnumerator(); Dictionary.Enumerator dicEnumer = dic.GetEnumerator(); while (ienumerator.MoveNext() && dicEnumer.MoveNext()) { if (!ienumerator.Current.Equals(dicEnumer.Current.Value)) { TestLibrary.TestFramework.LogError("003", "the ExpecResult is not the ActualResult"); retVal = false; } } } catch (Exception e) { TestLibrary.TestFramework.LogError("004", "Unexpect exception:" + e); retVal = false; } return retVal; } #endregion #region ForTestClass public class TestClass { } #endregion }