コード例 #1
0
        public void ShouldSendSelectionsChangedMessage()
        {
            var messenger = new WeakReferenceMessenger();

            var commandBuilder = Utils.GetTestCommandBuilder(messenger: messenger);

            var vm     = new DerivedViewModelListBase(commandBuilder);
            var child1 = new DerivedObjectViewModelBase(commandBuilder, null);
            var child2 = new DerivedObjectViewModelBase(commandBuilder, null);

            vm.Add(child1);
            vm.Add(child2);

            var ViewModelListBaseSelectionsChangingCalled = false;

            messenger.Register <ViewModelListBaseSelectionsChanged <DerivedObjectViewModelBase> >(this, (r, m) =>
            {
                ViewModelListBaseSelectionsChangingCalled = true;
            });

            messenger.Register <ViewModelListBaseSelectionChanged <DerivedObjectViewModelBase> >(this, (r, m) =>
            {
                Assert.Fail();
            });

            messenger.Register <ViewModelListBaseSelectionChanging <DerivedObjectViewModelBase> >(this, (r, m) =>
            {
                Assert.Fail();
            });

            vm.SelectedItems.Add(child1);

            Assert.AreEqual(true, ViewModelListBaseSelectionsChangingCalled);
        }
コード例 #2
0
        public void ShouldBeBusyWhenUsingBusyStack()
        {
            var dispatcher     = new TestDispatcher();
            var commandBuilder = new ScarletCommandBuilder(dispatcher, Utils.GetTestCommandManager(), Utils.GetTestExceptionHandler(), Utils.GetTestMessenger(), Utils.GetTestExitService(), Utils.GetTestEventManager(), (lambda) => new BusyStack(lambda));

            var vm = new DerivedViewModelListBase(commandBuilder);

            Assert.AreEqual(false, vm.IsBusy);
            vm.ValidateState(() =>
            {
                Assert.AreEqual(true, vm.IsBusy);
            });
            Assert.AreEqual(false, vm.IsBusy);
        }