示例#1
0
 /// <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;
 }
示例#2
0
 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);
 }
示例#3
0
        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>()));
        }
示例#5
0
        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>()));
        }
示例#7
0
        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);
        }