public void CanExecute_ShouldReturnCorrectValue( IReactiveValue<object> value, bool canExecute, object arg) { //arrange var sut = new ReactiveMvvmCommand<object, object>(o => value, canExecutePredicate: o => canExecute); //act var actual = sut.CanExecute(arg); //assert actual.Should().Be(canExecute); }
public void CanExecute_ShouldReturnCorrectValue( IReactiveValue <object> value, bool canExecute, object arg) { //arrange var sut = new ReactiveMvvmCommand <object, object>(o => value, canExecutePredicate: o => canExecute); //act var actual = sut.CanExecute(arg); //assert actual.Should().Be(canExecute); }
public void CanExecute_AfterExecutingCommand_ShouldBePreviousState( object obj) { //arrange var value = ReactiveValue.Return(obj, ImmediateScheduler.Instance); var sut = new ReactiveMvvmCommand <object, object>(_ => value, canExecutePredicate: o => false); sut.Execute(null); //act var actual = sut.CanExecute(null); //assert actual.Should().BeFalse(); }
public void CanExecute_WhenExecutingCommand_ShouldBeFalse( object obj) { //arrange var canExecuteValues = new List <bool>(); var value = ReactiveValue.Return(obj, ImmediateScheduler.Instance); var sut = new ReactiveMvvmCommand <object, object>(_ => value); sut.CanExecuteChanged += (sender, args) => canExecuteValues.Add(sut.CanExecute(null)); //act sut.Execute(null); //assert canExecuteValues.First().Should().BeFalse(); }
public void CanExecute_ShouldBeCalledWithArg( IReactiveValue <object> value, object arg) { //arrange object actual = null; var sut = new ReactiveMvvmCommand <object, object>(o => value, canExecutePredicate: o => { actual = o; return(true); }); //act sut.CanExecute(arg); //assert actual.Should().Be(arg); }
public void CanExecute_ShouldBeCalledWithArg( IReactiveValue<object> value, object arg) { //arrange object actual = null; var sut = new ReactiveMvvmCommand<object, object>(o => value, canExecutePredicate: o => { actual = o; return true; }); //act sut.CanExecute(arg); //assert actual.Should().Be(arg); }
public void CanExecute_AfterExecutingCommand_ShouldBePreviousState( object obj) { //arrange var value = ReactiveValue.Return(obj, ImmediateScheduler.Instance); var sut = new ReactiveMvvmCommand<object, object>(_ => value, canExecutePredicate: o => false); sut.Execute(null); //act var actual = sut.CanExecute(null); //assert actual.Should().BeFalse(); }
public void CanExecute_WhenExecutingCommand_ShouldBeFalse( object obj) { //arrange var canExecuteValues = new List<bool>(); var value = ReactiveValue.Return(obj, ImmediateScheduler.Instance); var sut = new ReactiveMvvmCommand<object, object>(_ => value); sut.CanExecuteChanged += (sender, args) => canExecuteValues.Add(sut.CanExecute(null)); //act sut.Execute(null); //assert canExecuteValues.First().Should().BeFalse(); }