public void CanNotSwitchToEditState()
        {
            // Arrange
            ClientEmptyState clientEmptyState = this.GetDefaultState();

            // Assert
            clientEmptyState.CanSwitchToEditMode().Should().BeFalse();
        }
 private void InitStates()
 {
     this._clientEmptyState    = new ClientEmptyState(this);
     this._clientSearchState   = new ClientSearchState(this);
     this._clientCreationState = new ClientCreationState(this);
     this._clientLoadedState   = new ClientLoadedState(this);
     this._clientEditState     = new ClientEditState(this);
 }
        public void CanSwitchToSearchAndAddMode()
        {
            // Arrange
            ClientEmptyState clientEmptyState = this.GetDefaultState();

            // Assert
            clientEmptyState.CanSwitchToSearchMode().Should().BeTrue();
            clientEmptyState.CanSwitchToAddMode().Should().BeTrue();
        }
        public void CanNotCommitOrCancelOrDelete()
        {
            // Arrange
            ClientEmptyState clientEmptyState = this.GetDefaultState();

            // Assert
            clientEmptyState.CanCommit().Should().BeFalse();
            clientEmptyState.CanCancel().Should().BeFalse();
            clientEmptyState.CanDelete().Should().BeFalse();
        }
        public void LoadsNewClientAndSwitchesToAddMode()
        {
            // Arrange
            Mock <ClientEditViewModel> mockClientEditViewModel = this.GetMockedViewModel();
            ClientEmptyState           clientCreationState     = this.GetDefaultState(mockClientEditViewModel);

            // Act
            clientCreationState.SwitchToAddMode();

            // Assert
            mockClientEditViewModel.Verify(x => x.ChangeToCreationMode(), Times.Once);
        }