using linesider_screen_bankend.Modules.ModuleName.ViewModels; using linesider_screen_bankend.Services.Interfaces; using Moq; using Prism.Regions; using Xunit; namespace linesider_screen_bankend.Modules.ModuleName.Tests.ViewModels { public class ViewAViewModelFixture { Mock _messageServiceMock; Mock _regionManagerMock; const string MessageServiceDefaultMessage = "Some Value"; public ViewAViewModelFixture() { var messageService = new Mock(); messageService.Setup(x => x.GetMessage()).Returns(MessageServiceDefaultMessage); _messageServiceMock = messageService; _regionManagerMock = new Mock(); } [Fact] public void MessagePropertyValueUpdated() { var vm = new ViewAViewModel(_regionManagerMock.Object, _messageServiceMock.Object); _messageServiceMock.Verify(x => x.GetMessage(), Times.Once); Assert.Equal(MessageServiceDefaultMessage, vm.Message); } [Fact] public void MessageINotifyPropertyChangedCalled() { var vm = new ViewAViewModel(_regionManagerMock.Object, _messageServiceMock.Object); Assert.PropertyChanged(vm, nameof(vm.Message), () => vm.Message = "Changed"); } } }