public void Should_Not_Move_Previous()
    {
        //Arrange
        var      items    = new[] { new object(), new object(), new object() };
        var      view     = new CollectionView(items);
        var      expected = view.CurrentItem;
        ICommand command  = new MoveCurrentToPreviousCommand(view);

        //Act
        command.Execute(null);
        //Assert
        var actual = view.CurrentItem;

        actual.Should().Be(expected);
    }
    public void Should_Not_Move_Previous()
    {
        //Arrange
        var      items    = new[] { new object(), new object(), new object() };
        var      view     = new CollectionView(items);
        var      expected = view.CurrentItem;
        bool     changed  = false;
        ICommand command  = new MoveCurrentToPreviousCommand(view);

        command.CanExecuteChanged += delegate {
            changed = true;
        };
        //Act
        command.Execute(null);
        //Assert
        var actual = view.CurrentItem;

        actual.Should().Be(expected);
        changed.Should().BeFalse();
    }