private void OnItemChanged(IReactiveValue item, object oldValue, object newValue)
 {
     _curClosedThread++;
     Console.WriteLine($"Поток {_curClosedThread} отработал");
     if (_curClosedThread == _theradCount)
     {
         DrawResult((IDictionary <string, int>)newValue);
     }
 }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        public void Execute_ShouldBeCalledWithArg(
            IReactiveValue <object> value,
            object arg)
        {
            //arrange
            object actual = null;
            var    sut    = new ReactiveMvvmCommand <object, object>(o =>
            {
                actual = o;
                return(value);
            });

            //act
            sut.Execute(arg);

            //assert
            actual.Should().Be(arg);
        }
示例#5
0
        public void Execute_ShouldBeCalledWithArg(
            IReactiveValue<object> value,
            object arg)
        {
            //arrange
            object actual = null;
            var sut = new ReactiveMvvmCommand<object, object>(o =>
            {
                actual = o;
                return value;
            });

            //act
            sut.Execute(arg);

            //assert
            actual.Should().Be(arg);
        }
示例#6
0
 public ReactiveListen(IReactiveValue <T> value, Action <T, T> handler)
 {
     value.ValueIncomed += new ValueIncomedDelegate <T>(value_ValueIncomed);
     this.handler        = handler;
 }
示例#7
0
 public static IReactiveValue <T> Listen <T>(this IReactiveValue <T> source, Action <T> handler)
 {
     return(new ReactiveListen <T>(source, (a, b) => { handler(b); }));
 }
示例#8
0
 public static IReactiveValue <T> Listen <T>(this IReactiveValue <T> source, Action <T, T> handler)
 {
     return(new ReactiveListen <T>(source, handler));
 }
示例#9
0
 private void DetachElement(IReactiveValue value)
 {
     value.Changed -= OnItemChanged;
 }
示例#10
0
 private void OnItemChanged(IReactiveValue item, object oldValue, object newValue)
 {
     ItemChanged?.Invoke(item, oldValue, newValue);
 }