public void RemoveAll_AllElements(int count)
        {
            SegmentedList <T> list       = GenericListFactory(count);
            SegmentedList <T> beforeList = list.ToSegmentedList();
            int removedCount             = list.RemoveAll((value) => { return(true); });

            Assert.Equal(count, removedCount);
            Assert.Equal(0, list.Count);
        }
        public void RemoveAll_DefaultElements(int count)
        {
            SegmentedList <T> list                 = GenericListFactory(count);
            SegmentedList <T> beforeList           = list.ToSegmentedList();
            Predicate <T>     EqualsDefaultElement = (value) => { return(default(T) == null ? value == null : default(T) !.Equals(value)); };
            int expectedCount = beforeList.Count((value) => EqualsDefaultElement(value));
            int removedCount  = list.RemoveAll(EqualsDefaultElement);

            Assert.Equal(expectedCount, removedCount);
        }