public void TestInitialize()
 {
     _actualCount      = 0;
     _canExecuteAction = () => true;
     _actionToExecute  = () => _actualCount++;
     _sut = new CommandDisableAbleAsync(
         _canExecuteAction,
         _actionToExecute);
     _sut.CanExecuteChanged += (o, e) => _actualCount++;
 }
 public void TestInitialize()
 {
     _actualCount      = 0;
     _canExecuteAction = o => true;
     _actionToExecute  = increase => _actualCount += increase.Value;
     _sut = new CommandDisableAbleAsync <int?>(
         _canExecuteAction,
         _actionToExecute);
     _sut.CanExecuteChanged += (o, e) => _actualCount++;
 }
        public async Task CannotExecute()
        {
            int expectedCount = _actualCount;
            var sut           = new CommandDisableAbleAsync(
                () => false, _actionToExecute);

            await sut.ExecuteAsync();

            bool actualResult = await sut.CanExecuteAsync();

            Assert.AreEqual(expected: false, actualResult);
            Assert.AreEqual(expectedCount, _actualCount);
        }
 public void ConstructHimself()
 {
     _ = new CommandDisableAbleAsync(
         _canExecuteAction,
         _actionToExecute);
 }