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)); }