protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); ViewModel = GetCounterViewModel(); Bind(); }
public void ExecutingTheIncrementCommandShouldIncrementTheValueInTheDatabaseHelper() { _mockDatabaseHelper.Setup(d => d.IncrementCounterAsync(It.IsAny<Counter>())).Callback<Counter>(c => ++c.Value); var counter = new Counter {Value = 10}; var vm = new CounterViewModel(counter, _mockDatabaseHelper.Object, _mockDialogService.Object, _mockNavigationService.Object); vm.IncrementCommand.Execute(null); _mockDatabaseHelper.Verify(d => d.IncrementCounterAsync(counter)); vm.Value.Should().Be("11"); }
public void BindCounterViewModel(CounterViewModel counterViewModel) { if (_counterViewModel != null) _counterViewModel.PropertyChanged -= CounterViewModelOnPropertyChanged; _counterViewModel = counterViewModel; _counterViewModel.PropertyChanged += CounterViewModelOnPropertyChanged; _name.Text = counterViewModel.Name; _description.Text = counterViewModel.Description; _value.Text = counterViewModel.Value; }
private static bool Matches(CounterViewModel cvm, Counter counter) { return cvm.Name == counter.Name && cvm.Description == counter.Description && cvm.Value == counter.Value.ToString("N0"); }
public void ExecutingTheSaveCommandUpdatesTheCounterInTheDatabase() { var counter = new Counter { Value = 10, Name = "Name", Description = "Description" }; var vm = new CounterViewModel(counter, _mockDatabaseHelper.Object, _mockDialogService.Object, _mockNavigationService.Object); vm.Name = "New Name"; vm.Description = "New Description"; vm.SaveCommand.Execute(null); _mockDatabaseHelper.Verify(d => d.AddOrUpdateCounterAsync(counter)); }
public void ExecutingTheSaveCommandUpdatesTheChangesOnTheCounter() { var counter = new Counter {Value = 10, Name = "Name", Description = "Description"}; var vm = new CounterViewModel(counter, _mockDatabaseHelper.Object, _mockDialogService.Object, _mockNavigationService.Object); vm.Name = "New Name"; vm.Description = "New Description"; vm.SaveCommand.Execute(null); counter.Name.Should().Be("New Name"); counter.Description.Should().Be("New Description"); }
public void ExecutingTheEditCommandNavigatesToTheEditScreen() { var counter = new Counter(); var vm = new CounterViewModel(counter, _mockDatabaseHelper.Object, _mockDialogService.Object, _mockNavigationService.Object); vm.EditCommand.Execute(null); _mockNavigationService.Verify(n => n.NavigateTo(ViewModelLocator.EditCounterPageKey, counter)); }
public void SaveComandAddsTheCounterAndNavigatesBack() { var vm = new CounterViewModel(new Counter(), _mockDatabaseHelper.Object, _mockDialogService.Object, _mockNavigationService.Object); vm.Name = "Foo"; vm.Description = "Bar"; vm.SaveCommand.Execute(null); _mockDialogService.Verify(d => d.ShowError(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), null), Times.Never); _mockDatabaseHelper.Verify(d => d.AddOrUpdateCounterAsync(It.IsAny<Counter>()), Times.Once); _mockNavigationService.Verify(n => n.GoBack(), Times.Once); }
public void SaveCommandRaisesAnErrorIfTheDescriptionIsNotSet() { var vm = new CounterViewModel(new Counter(), _mockDatabaseHelper.Object, _mockDialogService.Object, _mockNavigationService.Object); vm.Name = "Foo"; vm.SaveCommand.Execute(null); _mockDialogService.Verify(d => d.ShowError(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), null), Times.Once); _mockDatabaseHelper.Verify(d => d.AddOrUpdateCounterAsync(It.IsAny<Counter>()), Times.Never); }
public void GoBackCommandNavigatesBackwards() { var vm = new CounterViewModel(new Counter(), _mockDatabaseHelper.Object, _mockDialogService.Object, _mockNavigationService.Object); vm.GoBackCommand.Execute(null); _mockNavigationService.Verify(n => n.GoBack(), Times.Once); }
public void ExecutingTheDeleteCommandAndSelectingNoOnTheDialogDoesNotDeleteTheCounter() { var counter = new Counter { Value = 10, Name = "Name", Description = "Description" }; var vm = new CounterViewModel(counter, _mockDatabaseHelper.Object, _mockDialogService.Object, _mockNavigationService.Object); _mockDialogService.Setup(d => d.ShowMessage($"Are you sure you want to delete {vm.Name}?", "Delete counter", "Yes", "No", null)) .ReturnsAsync(false); vm.DeleteCommand.Execute(null); _mockDatabaseHelper.Verify(d => d.DeleteCounterAsync(counter), Times.Never); }