< Summary

Information
Class: SwitchBlade.ViewModels.RelayCommand
Assembly: SwitchBlade
File(s): D:\a\switchblade\switchblade\ViewModels\RelayCommand.cs
Tag: 203_23722840422
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 33
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
CanExecute(...)100%22100%
Execute(...)100%11100%
add_CanExecuteChanged(...)100%11100%
remove_CanExecuteChanged(...)100%11100%

File(s)

D:\a\switchblade\switchblade\ViewModels\RelayCommand.cs

#LineLine coverage
 1using System;
 2using System.Windows.Input;
 3
 4namespace SwitchBlade.ViewModels
 5{
 6    public class RelayCommand : ICommand
 7    {
 8        private readonly Action<object?> _execute;
 9        private readonly Predicate<object?>? _canExecute;
 10
 24411        public RelayCommand(Action<object?> execute, Predicate<object?>? canExecute = null)
 24412        {
 24413            _execute = execute;
 24414            _canExecute = canExecute;
 24415        }
 16
 17        public bool CanExecute(object? parameter)
 918        {
 919            return _canExecute == null || _canExecute(parameter);
 920        }
 21
 22        public void Execute(object? parameter)
 1423        {
 1424            _execute(parameter);
 1425        }
 26
 27        public event EventHandler? CanExecuteChanged
 28        {
 929            add { CommandManager.RequerySuggested += value; }
 330            remove { CommandManager.RequerySuggested -= value; }
 31        }
 32    }
 33}