System.Collections.Tests.Helpers.PerformActionOnAllStackWrappers C# (CSharp) Method

PerformActionOnAllStackWrappers() public static method

public static PerformActionOnAllStackWrappers ( Stack stack, Action action ) : void
stack Stack
action Action
return void
        public static void PerformActionOnAllStackWrappers(Stack stack, Action<Stack> action)
        {
            // Synchronized returns a slightly different version of Stack
            Stack[] stackTypes =
            {
                (Stack)stack.Clone(),
                Stack.Synchronized(stack)
            };

            foreach (Stack stackType in stackTypes)
            {
                action(stackType);
            }
        }

Usage Example

Example #1
0
        public static void TestGetEnumerator(int count)
        {
            Stack stack1 = Helpers.CreateIntStack(count);

            Helpers.PerformActionOnAllStackWrappers(stack1, stack2 =>
            {
                IEnumerator enumerator1 = stack2.GetEnumerator();
                IEnumerator enumerator2 = stack2.GetEnumerator();

                IEnumerator[] enumerators = { enumerator1, enumerator2 };
                foreach (IEnumerator enumerator in enumerators)
                {
                    for (int i = 0; i < 2; i++)
                    {
                        int counter = 0;
                        while (enumerator.MoveNext())
                        {
                            counter++;
                            Assert.NotNull(enumerator.Current);
                        }
                        Assert.Equal(count, counter);

                        enumerator.Reset();
                    }
                }
            });
        }
All Usage Examples Of System.Collections.Tests.Helpers::PerformActionOnAllStackWrappers