public void CurrentState_Get_Set()
        {
            // Arrange
            Task HandlerFunc(bool b) => Task.CompletedTask;

            // ReSharper disable once UseObjectOrCollectionInitializer
            var model = new BaseStateModelTestImplementation(HandlerFunc);

            // Act
            model.CurrentState = StateModelState.PathsVerified;

            // Assert
            Assert.AreEqual(StateModelState.PathsVerified, model.CurrentState);
        }
        public void Result_Get_Set()
        {
            // Arrange
            Task HandlerFunc(bool b) => Task.CompletedTask;

            // ReSharper disable once UseObjectOrCollectionInitializer
            var model = new BaseStateModelTestImplementation(HandlerFunc);

            // Act
            model.Result = true;

            // Assert
            Assert.AreEqual(true, model.Result);
        }
        public void Constructor_CorrectInitialization()
        {
            // Arrange
            // ReSharper disable once ConvertToLocalFunction
            Func <bool, Task> handlerFunc = b => Task.CompletedTask;

            // Act
            var model = new BaseStateModelTestImplementation(handlerFunc);

            // Assert
            Assert.AreSame(handlerFunc, model.HandleWorkInProgressChanged);
            Assert.AreEqual(StateModelState.Initialized, model.CurrentState);
            Assert.IsNull(model.Result);
        }