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);
        }
Exemplo n.º 2
0
        public async Task UpdateExpenseCategory_PostsNotification()
        {
            //Arrange
            var messenger = new WeakReferenceMessenger();
            var watcher   = new MessageWatcher <DatabaseEvent <ExpenseCategory> >();

            messenger.Register(watcher);
            AutoMocker mocker = new();

            using var factory = mocker.WithDbScope(messenger);

            var expenseCategory = new ExpenseCategory
            {
                Account = new Account()
            };

            using var setupContext = factory.Create();
            setupContext.ExpenseCategories.Add(expenseCategory);
            await setupContext.SaveChangesAsync();

            //Act
            using var actContext = factory.Create();
            var category = await actContext.ExpenseCategories.FindAsync(expenseCategory.ID);

            category.CategoryName += "-Edited";
            await actContext.SaveChangesAsync();

            //Assert
            DatabaseEvent <ExpenseCategory>?message = watcher.Messages.Last();

            Assert.AreEqual(expenseCategory.ID, message.Item.ID);
            Assert.AreEqual(EventType.Updated, message.Type);
        }
Exemplo n.º 3
0
 public void Test_Messenger_AutoCleanup()
 {
     IMessenger messenger = new WeakReferenceMessenger();
 public ImageSettingsViewModelTest()
 {
     Messenger     = new();
     ImageProvider = new ImageProvider(Messenger, new CaptureImageService());
 }
 public ImagePreviewWindowViewModelTest()
 {
     Messenger     = new();
     ImageProvider = new ImageProvider(Messenger, new CaptureImageService());
 }