public void NotifyCollectionChangedEventArgsNull()
        {
            NotifyCollectionChangedEventArgs args = null;
            string str = args.ToStringAlt();

            Assert.AreEqual(str, "(null)");
        }
        public void NotifyCollectionChangedEventArgs()
        {
            EventArgs args = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset);
            string    str  = args.ToStringAlt();

            Assert.AreEqual(str, "(NotifyCollectionChangedEventArgs (Action = 'Reset'))");

            args = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, new [] { new Item() }, 1);
            str  = args.ToStringAlt();
            Assert.AreEqual(str, "(NotifyCollectionChangedEventArgs (Action = 'Add' NewItems[0] = 'Exception: Exception', NewStartingIndex = 1))");

            args = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, new [] { new Item() }, 1);
            str  = args.ToStringAlt();
            Assert.AreEqual(str, "(NotifyCollectionChangedEventArgs (Action = 'Remove' OldItems[0] = 'Exception: Exception', OldStartingIndex = 1))");

            args = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Replace, new [] { new Item() }, new [] { new Item() }, 1);
            str  = args.ToStringAlt();
            Assert.AreEqual(str, "(NotifyCollectionChangedEventArgs (Action = 'Replace' NewItems[0] = 'Exception: Exception', NewStartingIndex = 1, OldItems[0] = 'Exception: Exception', OldStartingIndex = 1))");

            args = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Move, new [] { new Item() }, 2, 1);
            str  = args.ToStringAlt();
            Assert.AreEqual(str, "(NotifyCollectionChangedEventArgs (Action = 'Move' OldStartingIndex = 1, NewStartingIndex = 2))");
        }