public void Constructor_InitializesTitle_ToSelectedItemValue() { _state.SelectItem(TestItems[0]); using (var sut = new ItemEditorViewModel(_state)) { Assert.Equal(TestItems[0].Title, sut.Title); } }
public void Constructor_InitializesNotes_ToSelectedItemValue() { _state.SelectItem(TestItems[1]); using (var sut = new ItemEditorViewModel(_state)) { Assert.Equal(TestItems[1].Notes, sut.Notes); } }
public void IsComplete_Updates_WhenSelectedItemChanges() { _state.SelectItem(TestItems[0]); using (var sut = new ItemEditorViewModel(_state)) { _state.SelectItem(TestItems[1]); Assert.Equal(TestItems[1].IsComplete, sut.IsComplete); } }
public void ChangeTitleCommand_UpdatesSelectedItemTitle() { _state.SelectItem(TestItems[0]); using (var sut = new ItemEditorViewModel(_state)) { sut.ChangeTitleCommand.Execute("New title"); Assert.Equal("New title", _state.SelectedItem.Title); } }
public void ToggleCompleteCommand_UpdatesSelectedItemIsComplete() { _state.SelectItem(TestItems[0]); using (var sut = new ItemEditorViewModel(_state)) { sut.ToggleCompleteCommand.Execute(true); Assert.True(_state.SelectedItem.IsComplete); } }
public void ChangeNotesCommand_UpdatesSelectedItemNotes() { _state.SelectItem(TestItems[0]); using (var sut = new ItemEditorViewModel(_state)) { sut.ChangeNotesCommand.Execute("New notes"); Assert.Equal("New notes", _state.SelectedItem.Notes); } }
public void IsComplete_Updates_WhenSelectedItemIsCompleteChanges() { _state.SelectItem(TestItems[0]); using (var sut = new ItemEditorViewModel(_state)) { _state.Items[0].IsComplete = true; Assert.True(sut.IsComplete); } }
public void UnsubscribesFromItemUpdates_OnItemChanged() { _state.SelectItem(TestItems[0]); using (var sut = new ItemEditorViewModel(_state)) { _state.SelectItem(TestItems[2]); _state.Items[0].IsComplete = true; Assert.False(sut.IsComplete); } }
public void IsComplete_RaisesPropertyChanged_WhenValueChanged() { using (var sut = new ItemEditorViewModel(_state)) { String lastPropertyChanged = null; sut.PropertyChanged += (sender, e) => lastPropertyChanged = e.PropertyName; sut.IsComplete = !sut.IsComplete; Assert.Equal(nameof(ItemEditorViewModel.IsComplete), lastPropertyChanged); } }
public void Dispose_UnsubscribesFromToDoItemUpdates() { _state.SelectItem(TestItems[0]); var sut = new ItemEditorViewModel(_state); sut.Dispose(); _state.Items[0].IsComplete = true; Assert.False(sut.IsComplete); }
public void Title_RaisesPropertyChanged_WhenValueChanges() { using (var sut = new ItemEditorViewModel(_state)) { String lastPropertyChanged = null; sut.PropertyChanged += (sender, e) => lastPropertyChanged = e.PropertyName; sut.Title = "New title"; Assert.Equal(nameof(ItemEditorViewModel.Title), lastPropertyChanged); } }
public InventoryViewModel(ICommandHandler commandHandler, IItemRepository itemRepo) : base(commandHandler) { // NOTE this is very important for database to work Database.SetInitializer <SQLServerDbContext>(new DropCreateDatabaseIfModelChanges <SQLServerDbContext>()); _itemRepo = itemRepo; _itemListViewModel = ContainerHelper.Container.Resolve <ItemListViewModel>(); _partListViewModel = ContainerHelper.Container.Resolve <PartListViewModel>(); _itemEditorViewModel = ContainerHelper.Container.Resolve <ItemEditorViewModel>(); }
public ItemEditorPageViewModel( ItemListViewModel itemList, ItemEditorViewModel itemEditor, IMultiItemEditor multiItemEditor, ItemListFilterViewModel filter) : base("item Editor", PackIconKind.Edit) { this.ItemList = itemList; this.MultiItemEditor = multiItemEditor; Editor = this.ItemEditor = itemEditor; this.Filter = filter; multiItemEditor.BindSelection(itemList.Selection); this.disposables.Add(ItemList, ItemEditor, MultiItemEditor, Filter); filter.FilterChanges .TakeUntil(destroy) .Subscribe(itemList.FilterChanges.OnNext, ex => MessageBox.Show(ex.ToString(), $"{nameof(ItemEditorPageViewModel)}.ctor:subscribe") ); this.ItemList.Selection.Connect() .ToCollection() .Subscribe(x => { this.IsSingle = x.Count <= 1; if (x.Count == 1) { itemEditor.SelectItem(x.FirstOrDefault().SourceItem.Id); } else { itemEditor.SelectItem(null); } if (x.Count <= 1) { this.Editor = ItemEditor; } else { this.Editor = MultiItemEditor; } }); itemEditor.SetTagpool(Filter.Tagpool); multiItemEditor.SetTagpool(Filter.Tagpool); }