Beispiel #1
0
        public bool CanUndo()
        {
            ReadOnlyObservableCollection <UndoableCommandBase> undoItems = stack.UndoItems();

            for (int i = undoItems.Count - 1; i >= 0; i--)
            {
                if (!undoItems.ElementAt(i).isImplicit)
                {
                    return(true);
                }
            }
            return(false);
        }
        public void TestFromArray()
        {
            int[]    integerArray = new int[] { 1, 2, 3, 4, 5 };
            double[] doubleArray  = new double[] { 3.14159, 2.71828 };
            string[] stringArray  = new string[] { "foo", "bar", "foobar" };

            ArrayList arrayList = CollectionHelper.FromArray(typeof(ArrayList), integerArray) as ArrayList;

            Assert.Equal(5, arrayList.Count);
            Assert.Equal(1, arrayList[0]);
            Assert.Equal(2, arrayList[1]);
            Assert.Equal(3, arrayList[2]);
            Assert.Equal(4, arrayList[3]);
            Assert.Equal(5, arrayList[4]);

            Queue queue = CollectionHelper.FromArray(typeof(Queue), doubleArray) as Queue;

            Assert.Equal(2, queue.Count);
            Assert.Equal(3.14159, queue.Dequeue());
            Assert.Equal(2.71828, queue.Dequeue());

            Stack stack = CollectionHelper.FromArray(typeof(Stack), stringArray) as Stack;

            Assert.Equal(3, stack.Count);
            Assert.Equal("foobar", stack.Pop());
            Assert.Equal("bar", stack.Pop());
            Assert.Equal("foo", stack.Pop());

            HashSet <int> genericHashSet = CollectionHelper.FromArray(typeof(HashSet <int>), integerArray) as HashSet <int>;

            Assert.Equal(5, genericHashSet.Count);
            Assert.Equal(1, genericHashSet.ElementAt(0));
            Assert.Equal(2, genericHashSet.ElementAt(1));
            Assert.Equal(3, genericHashSet.ElementAt(2));
            Assert.Equal(4, genericHashSet.ElementAt(3));
            Assert.Equal(5, genericHashSet.ElementAt(4));

            LinkedList <double> genericLinkedList = CollectionHelper.FromArray(typeof(LinkedList <double>), doubleArray) as LinkedList <double>;

            Assert.Equal(2, genericLinkedList.Count);
            Assert.Equal(3.14159, genericLinkedList.ElementAt(0));
            Assert.Equal(2.71828, genericLinkedList.ElementAt(1));

            List <string> genericList = CollectionHelper.FromArray(typeof(List <string>), stringArray) as List <string>;

            Assert.Equal(3, genericList.Count);
            Assert.Equal("foo", genericList[0]);
            Assert.Equal("bar", genericList[1]);
            Assert.Equal("foobar", genericList[2]);

            Queue <int> genericQueue = CollectionHelper.FromArray(typeof(Queue <int>), integerArray) as Queue <int>;

            Assert.Equal(5, genericQueue.Count);
            Assert.Equal(1, genericQueue.ElementAt(0));
            Assert.Equal(2, genericQueue.ElementAt(1));
            Assert.Equal(3, genericQueue.ElementAt(2));
            Assert.Equal(4, genericQueue.ElementAt(3));
            Assert.Equal(5, genericQueue.ElementAt(4));

            SortedSet <double> genericSortedSet = CollectionHelper.FromArray(typeof(SortedSet <double>), doubleArray) as SortedSet <double>;

            Assert.Equal(2, genericSortedSet.Count);
            Assert.Equal(2.71828, genericSortedSet.ElementAt(0));
            Assert.Equal(3.14159, genericSortedSet.ElementAt(1));

            Stack <string> genericStack = CollectionHelper.FromArray(typeof(Stack <string>), stringArray) as Stack <string>;

            Assert.Equal(3, genericStack.Count);
            Assert.Equal("foobar", genericStack.Pop());
            Assert.Equal("bar", genericStack.Pop());
            Assert.Equal("foo", genericStack.Pop());

            Collection <int> genericCollection = CollectionHelper.FromArray(typeof(Collection <int>), integerArray) as Collection <int>;

            Assert.Equal(5, genericCollection.Count);
            Assert.Equal(1, genericCollection.ElementAt(0));
            Assert.Equal(2, genericCollection.ElementAt(1));
            Assert.Equal(3, genericCollection.ElementAt(2));
            Assert.Equal(4, genericCollection.ElementAt(3));
            Assert.Equal(5, genericCollection.ElementAt(4));

            ObservableCollection <double> genericObservableCollection = CollectionHelper.FromArray(typeof(ObservableCollection <double>), doubleArray) as ObservableCollection <double>;

            Assert.Equal(2, genericObservableCollection.Count);
            Assert.Equal(3.14159, genericObservableCollection.ElementAt(0));
            Assert.Equal(2.71828, genericObservableCollection.ElementAt(1));

            ReadOnlyCollection <string> genericReadOnlyCollection = CollectionHelper.FromArray(typeof(ReadOnlyCollection <string>), stringArray) as ReadOnlyCollection <string>;

            Assert.Equal(3, genericReadOnlyCollection.Count);
            Assert.Equal("foo", genericReadOnlyCollection.ElementAt(0));
            Assert.Equal("bar", genericReadOnlyCollection.ElementAt(1));
            Assert.Equal("foobar", genericReadOnlyCollection.ElementAt(2));

            ReadOnlyObservableCollection <int> genericReadOnlyObservableCollection = CollectionHelper.FromArray(typeof(ReadOnlyObservableCollection <int>), integerArray) as ReadOnlyObservableCollection <int>;

            Assert.Equal(5, genericReadOnlyObservableCollection.Count);
            Assert.Equal(1, genericReadOnlyObservableCollection.ElementAt(0));
            Assert.Equal(2, genericReadOnlyObservableCollection.ElementAt(1));
            Assert.Equal(3, genericReadOnlyObservableCollection.ElementAt(2));
            Assert.Equal(4, genericReadOnlyObservableCollection.ElementAt(3));
            Assert.Equal(5, genericReadOnlyObservableCollection.ElementAt(4));
        }