< Summary

Class:MUNity.Extensions.ObservableCollectionExtensions.ObservableCollectionTools
Assembly:MUNity.Schema
File(s):C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNitySchema\Extensions\ObservableCollectionExtensions\ObservableCollectionTools.cs
Covered lines:0
Uncovered lines:10
Coverable lines:10
Total lines:32
Line coverage:0% (0 of 10)
Covered branches:0
Total branches:2
Branch coverage:0% (0 of 2)
Covered methods:0
Total methods:1
Method coverage:0% (0 of 1)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
RemoveAll(...)0%20%

File(s)

C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNitySchema\Extensions\ObservableCollectionExtensions\ObservableCollectionTools.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.Collections.ObjectModel;
 4using System.Text;
 5using System.Linq;
 6
 7namespace MUNity.Extensions.ObservableCollectionExtensions
 8{
 9    /// <summary>
 10    /// Extension methods that allow to work with observableCollections like linq.
 11    /// </summary>
 12    public static class ObservableCollectionTools
 13    {
 14        /// <summary>
 15        /// Removes all entries with the given Predicate.
 16        /// </summary>
 17        /// <typeparam name="T"></typeparam>
 18        /// <param name="collection"></param>
 19        /// <param name="predicate"></param>
 20        public static int RemoveAll<T>(this ObservableCollection<T> collection, Func<T, bool> predicate)
 021        {
 022            var toDelete = collection.Where(predicate).ToList();
 023            int count = toDelete.Count;
 024            foreach(var deleteMe in toDelete)
 025            {
 026                collection.Remove(deleteMe);
 027            }
 028            toDelete.Clear();
 029            return count;
 030        }
 31    }
 32}

Methods/Properties

RemoveAll(...)