Beispiel #1
0
        public void ObserveControlAndSendToCommand(bool commandEnabled, bool binderActiveDuringEvent, bool expectUpdated)
        {
            // Arrange
            string mouseMoveButton = null;

            _command.ExecuteAction       = parm => { mouseMoveButton = parm; };
            _command.CanExecuteCondition = vm => commandEnabled;
            _binder.Observe(_button.MouseMoveButton).Execute(_command);

            // Act
            if (!binderActiveDuringEvent)
            {
                _binder.Dispose();
            }
            _button.PerformMouseMove(new MouseEventArgs(MouseButtons.Right, 0, 0, 0, 0));

            var expected = expectUpdated ? "Right" : null;

            // Assert
            Assert.That(mouseMoveButton, Is.EqualTo(expected));
        }
Beispiel #2
0
        public void SpecifyDefaultScheduler()
        {
            // Arrange
            _binder = Create.Binder(_viewModel);
            var task = new Task <int>(() => 5);

            _viewModel.MyObservable = task.ToObservable();

            var    bindingThread = Thread.CurrentThread;
            Thread actionThread  = null;

            _binder.Observe(_viewModel.MyObservable).Subscribe(x => actionThread = Thread.CurrentThread);

            // Act
            task.Start();
            task.Wait();

            ConditionalWait.WaitFor(() => actionThread != null);

            // Assert
            Assert.That(actionThread, Is.Not.SameAs(bindingThread));
        }