public void IsVisibleChangedShouldBeDispatched() { // Arrange var localizationProvider = Substitute.For <ILocalizationProvider>(); var option = Substitute.For <IOption>(); var viewModel = Substitute.For <IViewModel>(); var sut = new PluginOptionViewModelImplementation(option, localizationProvider, viewModel); // Act option.IsVisibleChanged += Raise.Event(); // Assert sut.ViewModel.Received(1).OnPropertyChanged(nameof(OptionViewModelBase.IsVisible)); }
public void ValueChangedShouldBeDispatched() { // Arrange var localizationProvider = Substitute.For <ILocalizationProvider>(); var option = Substitute.For <ValueOption <int> >(0, string.Empty, string.Empty); var viewModel = Substitute.For <IViewModel>(); var sut = new PluginOptionViewModelImplementation <int>(option, localizationProvider, viewModel); // Act option.ValueChanged += Raise.EventWith(EventArgs.Empty); // Assert sut.ViewModel.Received(1).OnPropertyChanged(nameof(OptionViewModelBase <int> .Value)); }
public void DisplayNameShouldBeLocalized() { // Arrange var localizationProvider = Substitute.For <ILocalizationProvider>(); localizationProvider.Localize("name").Returns("loc_name"); var option = Substitute.For <IOption>(); option.NameTextId.Returns("name"); var viewModel = Substitute.For <IViewModel>(); var sut = new PluginOptionViewModelImplementation(option, localizationProvider, viewModel); // Act var actual = sut.DisplayName; // Assert Assert.Equal("loc_name", actual); }