public async Task CannotExecute()
        {
            int expectedCount = _actualCount;
            var sut           = new CommandReversibleAndDisableAbleAsync(
                () => false,
                _actionToExecute,
                _undoAction);

            await sut.ExecuteAsync();

            Assert.AreEqual(expectedCount, _actualCount);

            await sut.ReverseAsync();

            Assert.AreEqual(expectedCount, _actualCount);

            bool actualResult = await sut.CanExecuteAsync();

            Assert.AreEqual(expected: false, actualResult);
        }
        public async Task CanExecute()
        {
            var actualResult = await _sut.CanExecuteAsync();

            Assert.AreEqual(expected: true, actualResult);
        }