/// <summary> /// Initializes a new instance of the <see cref="ViewModelContainer"/> class. /// </summary> /// <param name="generalSettingsViewModel">Audioband view model.</param> /// <param name="albumArtPopupViewModel">Album art popup view model.</param> /// <param name="albumArtViewModel">Album art view model.</param> /// <param name="customLabelsViewModel">Custom labels view model.</param> /// <param name="nextButtonViewModel">Next button view model.</param> /// <param name="playPauseButtonViewModel">Play pause button view model.</param> /// <param name="repeatModeButtonViewModel">Repeat mode button view model.</param> /// <param name="shuffleModeButtonViewModel">Shuffle mode button view model.</param> /// <param name="previousButtonViewModel">Previous button view model.</param> /// <param name="progressBarViewModel">Progress bar view model.</param> /// <param name="audioSourceSettingsViewModel">Audio source settings view model.</param> public ViewModelContainer( GeneralSettingsViewModel generalSettingsViewModel, AlbumArtPopupViewModel albumArtPopupViewModel, AlbumArtViewModel albumArtViewModel, CustomLabelsViewModel customLabelsViewModel, NextButtonViewModel nextButtonViewModel, PlayPauseButtonViewModel playPauseButtonViewModel, RepeatModeButtonViewModel repeatModeButtonViewModel, ShuffleModeButtonViewModel shuffleModeButtonViewModel, PreviousButtonViewModel previousButtonViewModel, ProgressBarViewModel progressBarViewModel, AudioSourceSettingsViewModel audioSourceSettingsViewModel) { GeneralSettingsViewModel = generalSettingsViewModel; AlbumArtPopupViewModel = albumArtPopupViewModel; AlbumArtViewModel = albumArtViewModel; CustomLabelsViewModel = customLabelsViewModel; NextButtonViewModel = nextButtonViewModel; PlayPauseButtonViewModel = playPauseButtonViewModel; RepeatModeButtonViewModel = repeatModeButtonViewModel; ShuffleModeButtonViewModel = shuffleModeButtonViewModel; PreviousButtonViewModel = previousButtonViewModel; ProgressBarViewModel = progressBarViewModel; AudioSourceSettingsViewModel = audioSourceSettingsViewModel; }
public CustomLabelsViewModelTests() { _dialogMock = new Mock <IDialogService>(); _appSettingsMock = new Mock <IAppSettings>(); _appSettingsMock.Setup(x => x.CustomLabels).Returns(new List <CustomLabel>()); _label = new CustomLabel(); _sessionMock = new Mock <IAudioSession>(); _messageBus = new Mock <IMessageBus>(); _viewModel = new CustomLabelsViewModel(_appSettingsMock.Object, _dialogMock.Object, _sessionMock.Object, _messageBus.Object); }
public void ProfileChanged_NewLabelsHaveCorrectAudioSessionData() { var settingsMock = new Mock <IAppSettings>(); settingsMock.SetupSequence(m => m.CustomLabels) .Returns(new List <CustomLabel> { new CustomLabel() }); _sessionMock.SetupGet(m => m.IsPlaying).Returns(true); var vm = new CustomLabelsViewModel(settingsMock.Object, new Mock <IDialogService>().Object, _sessionMock.Object, _messageBus.Object); _appSettingsMock.Raise(m => m.ProfileChanged += null, null, EventArgs.Empty); Assert.True(vm.CustomLabels[0].IsPlaying); }
public void AddLabel_PublishEdit() { _appSettingsMock.SetupGet(x => x.CurrentProfile) .Returns(new UserProfile() { CustomLabels = new List <CustomLabel> { new CustomLabel() } }); _viewModel = new CustomLabelsViewModel(_appSettingsMock.Object, _dialogMock.Object, _sessionMock.Object, _messageBus.Object); _viewModel.AddLabelCommand.Execute(null); Assert.True(_viewModel.IsEditing); _messageBus.Verify(m => m.Publish(It.IsAny <EditStartMessage>(), It.IsAny <string>())); }
public void RemoveLabel_CancelMessageIsPublished_DeletedLabelIsAddedBack() { _appSettingsMock.SetupGet(x => x.CustomLabels).Returns(new List <CustomLabel> { new CustomLabel() }); _dialogMock.Setup(o => o.ShowConfirmationDialog(It.IsAny <ConfirmationDialogType>(), It.IsAny <object>())).Returns(true); _viewModel = new CustomLabelsViewModel(_appSettingsMock.Object, _dialogMock.Object, _sessionMock.Object, _messageBus.Object); _viewModel.BeginEdit(); var label = _viewModel.CustomLabels[0]; _viewModel.RemoveLabelCommand.Execute(label); _viewModel.CancelEdit(); Assert.Single(_viewModel.CustomLabels); Assert.Equal(label, _viewModel.CustomLabels[0]); }
public void RemoveLabel_PublishEdit() { _appSettingsMock.SetupGet(x => x.CurrentProfile) .Returns(new UserProfile() { CustomLabels = new List <CustomLabel> { new CustomLabel() } }); _dialogMock.Setup(o => o.ShowConfirmationDialog(It.IsAny <ConfirmationDialogType>(), It.IsAny <object>())).Returns(true); _viewModel = new CustomLabelsViewModel(_appSettingsMock.Object, _dialogMock.Object, _sessionMock.Object, _messageBus.Object); var label = _viewModel.CustomLabels[0]; _viewModel.RemoveLabelCommand.Execute(label); Assert.True(_viewModel.IsEditing); _messageBus.Verify(m => m.Publish(It.IsAny <EditStartMessage>(), It.IsAny <string>())); }
public void ProfileChanged_RemovesAllLabelsAndAddsNewOnes() { var settingsMock = new Mock <IAppSettings>(); settingsMock.SetupSequence(m => m.CustomLabels) .Returns(new List <CustomLabel> { new CustomLabel { Name = "test" } }) .Returns(new List <CustomLabel> { new CustomLabel { Name = "second" } }); var vm = new CustomLabelsViewModel(settingsMock.Object, new Mock <IDialogService>().Object, _sessionMock.Object, _messageBus.Object); Assert.Single(vm.CustomLabels); Assert.Equal("test", vm.CustomLabels[0].Name); _appSettingsMock.Raise(m => m.ProfileChanged += null, null, EventArgs.Empty); Assert.Equal("second", vm.CustomLabels[0].Name); }