public void LendToViewModelLendToTest() { var book = new Book() { Title = "The Fellowship of the Ring" }; var persons = new List <Person>() { new() { Firstname = "Harry" }, new() { Firstname = "Ron" } }; var lendToView = new MockLendToView(); var lendToViewModel = new LendToViewModel(lendToView) { Book = book, Persons = persons, SelectedPerson = persons[0] }; Assert.AreEqual(book, lendToViewModel.Book); Assert.AreEqual(persons, lendToViewModel.Persons); // Show the dialog var owner = new object(); Action <MockLendToView> showDialogAction = _ => { Assert.IsTrue(lendToView.IsVisible); Assert.AreEqual(owner, lendToView.Owner); // Check the default values Assert.IsTrue(lendToViewModel.IsLendTo); Assert.IsFalse(lendToViewModel.IsWasReturned); Assert.AreEqual(persons[0], lendToViewModel.SelectedPerson); // Select the last person: Lend to Ron AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.SelectedPerson, () => lendToViewModel.SelectedPerson = persons[^ 1]);
public void LendToViewModelLendToTest() { Book book = new Book() { Title = "The Fellowship of the Ring" }; List <Person> persons = new List <Person>() { new Person() { Firstname = "Harry" }, new Person() { Firstname = "Ron" } }; MockLendToView lendToView = new MockLendToView(); LendToViewModel lendToViewModel = new LendToViewModel(lendToView) { Book = book, Persons = persons }; Assert.AreEqual(book, lendToViewModel.Book); Assert.AreEqual(persons, lendToViewModel.Persons); // Show the dialog object owner = new object(); Action <MockLendToView> showDialogAction = (view) => { Assert.AreEqual("", LendToViewModel.Title); Assert.IsTrue(lendToView.IsVisible); Assert.AreEqual(owner, lendToView.Owner); // Check the default values Assert.IsTrue(lendToViewModel.IsLendTo); Assert.IsFalse(lendToViewModel.IsWasReturned); Assert.AreEqual(persons.First(), lendToViewModel.SelectedPerson); // Select the last person: Lend to Ron AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.SelectedPerson, () => lendToViewModel.SelectedPerson = persons.Last()); // Press Ok button lendToViewModel.OkCommand.Execute(null); }; MockLendToView.ShowDialogAction = showDialogAction; Assert.IsTrue(lendToViewModel.ShowDialog(owner)); Assert.IsFalse(lendToView.IsVisible); Assert.AreEqual(persons.Last(), lendToViewModel.SelectedPerson); MockLendToView.ShowDialogAction = null; }
public void LendToViewModelWasReturnedTest() { List <Person> persons = new List <Person>() { new Person() { Firstname = "Harry" }, new Person() { Firstname = "Ron" } }; Book book = new Book() { Title = "The Fellowship of the Ring", LendTo = persons.First() }; MockLendToView lendToView = new MockLendToView(); LendToViewModel lendToViewModel = new LendToViewModel(lendToView) { Book = book, Persons = persons }; // Show the dialog object owner = new object(); Action <MockLendToView> showDialogAction = (view) => { // Check the default values Assert.IsFalse(lendToViewModel.IsLendTo); Assert.IsTrue(lendToViewModel.IsWasReturned); // Change check boxes AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.IsLendTo, () => lendToViewModel.IsLendTo = true); Assert.IsTrue(lendToViewModel.IsLendTo); Assert.IsFalse(lendToViewModel.IsWasReturned); // Restore the original check boxes state AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.IsWasReturned, () => lendToViewModel.IsWasReturned = true); Assert.IsFalse(lendToViewModel.IsLendTo); Assert.IsTrue(lendToViewModel.IsWasReturned); lendToViewModel.OkCommand.Execute(null); }; MockLendToView.ShowDialogAction = showDialogAction; Assert.IsNotNull(lendToViewModel.SelectedPerson); Assert.IsTrue(lendToViewModel.ShowDialog(owner)); Assert.IsNull(lendToViewModel.SelectedPerson); MockLendToView.ShowDialogAction = null; }
private void LendTo(Book book) { LendToViewModel lendToViewModel = lendToViewModelFactory.CreateExport().Value; lendToViewModel.Book = book; lendToViewModel.Persons = entityService.Persons; if (lendToViewModel.ShowDialog(shellService.ShellView)) { book.LendTo = lendToViewModel.SelectedPerson; } }
public void LendToViewModelLendToTest() { Book book = new Book() { Title = "The Fellowship of the Ring" }; List<Person> persons = new List<Person>() { new Person() { Firstname = "Harry" }, new Person() { Firstname = "Ron" } }; MockLendToView lendToView = new MockLendToView(); AssertHelper.ExpectedException<ArgumentNullException>(() => new LendToViewModel(lendToView, null, null)); AssertHelper.ExpectedException<ArgumentNullException>(() => new LendToViewModel(lendToView, book, null)); LendToViewModel lendToViewModel = new LendToViewModel(lendToView, book, persons); Assert.AreEqual(book, lendToViewModel.Book); Assert.AreEqual(persons, lendToViewModel.Persons); // Show the dialog object owner = new object(); Action<MockLendToView> showDialogAction = (view) => { Assert.AreEqual("", LendToViewModel.Title); Assert.IsTrue(lendToView.IsVisible); Assert.AreEqual(owner, lendToView.Owner); // Check the default values Assert.IsTrue(lendToViewModel.IsLendTo); Assert.IsFalse(lendToViewModel.IsWasReturned); Assert.AreEqual(persons.First(), lendToViewModel.SelectedPerson); // Select the last person: Lend to Ron AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.SelectedPerson, () => lendToViewModel.SelectedPerson = persons.Last()); // Press Ok button lendToViewModel.OkCommand.Execute(null); }; lendToView.ShowDialogAction = showDialogAction; Assert.IsTrue(lendToViewModel.ShowDialog(owner)); Assert.IsFalse(lendToView.IsVisible); Assert.AreEqual(persons.Last(), lendToViewModel.SelectedPerson); }
public void LendToViewModelWasReturnedTest() { List<Person> persons = new List<Person>() { new Person() { Firstname = "Harry" }, new Person() { Firstname = "Ron" } }; Book book = new Book() { Title = "The Fellowship of the Ring", LendTo = persons.First() }; MockLendToView lendToView = new MockLendToView(); LendToViewModel lendToViewModel = new LendToViewModel(lendToView) { Book = book, Persons = persons }; // Show the dialog object owner = new object(); Action<MockLendToView> showDialogAction = (view) => { // Check the default values Assert.IsFalse(lendToViewModel.IsLendTo); Assert.IsTrue(lendToViewModel.IsWasReturned); // Change check boxes AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.IsLendTo, () => lendToViewModel.IsLendTo = true); Assert.IsTrue(lendToViewModel.IsLendTo); Assert.IsFalse(lendToViewModel.IsWasReturned); // Restore the original check boxes state AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.IsWasReturned, () => lendToViewModel.IsWasReturned = true); Assert.IsFalse(lendToViewModel.IsLendTo); Assert.IsTrue(lendToViewModel.IsWasReturned); lendToViewModel.OkCommand.Execute(null); }; MockLendToView.ShowDialogAction = showDialogAction; Assert.IsNotNull(lendToViewModel.SelectedPerson); Assert.IsTrue(lendToViewModel.ShowDialog(owner)); Assert.IsNull(lendToViewModel.SelectedPerson); MockLendToView.ShowDialogAction = null; }
public void LendToTest() { var fellowship = new Book() { Title = "The Fellowship of the Ring" }; var twoTowers = new Book() { Title = "The Two Towers" }; var harry = new Person() { Firstname = "Harry" }; var ron = new Person() { Firstname = "Ron" }; var entityService = Get <IEntityService>(); entityService.Books.Add(fellowship); entityService.Books.Add(twoTowers); entityService.Persons.Add(harry); entityService.Persons.Add(ron); var shellService = Get <ShellService>(); shellService.ShellView = Get <IShellView>(); var bookController = Get <BookController>(); bookController.Initialize(); var bookListView = Get <MockBookListView>(); var bookListViewModel = ViewHelper.GetViewModel <BookListViewModel>(bookListView); var bookView = Get <MockBookView>(); var bookViewModel = ViewHelper.GetViewModel <BookViewModel>(bookView); // Check that the LendTo Button is enabled Assert.IsNull(fellowship.LendTo); Assert.AreEqual(fellowship, bookViewModel.Book); Assert.IsTrue(bookViewModel.IsEnabled); // Open the LendTo dialog MockLendToView.ShowDialogAction = view => { Assert.AreEqual(Get <IShellView>(), view.Owner); Assert.IsTrue(view.IsVisible); LendToViewModel viewModel = (LendToViewModel)view.DataContext; Assert.AreEqual(fellowship, viewModel.Book); Assert.AreEqual(entityService.Persons, viewModel.Persons); // Lend the book to Ron viewModel.SelectedPerson = ron; viewModel.OkCommand.Execute(null); }; bookViewModel.LendToCommand.Execute(fellowship); Assert.AreEqual(ron, fellowship.LendTo); // Check that the LendTo Button is disabled when no book is selected anymore. AssertHelper.CanExecuteChangedEvent(bookViewModel.LendToCommand, () => bookListViewModel.SelectedBook = null); Assert.IsNull(bookViewModel.Book); Assert.IsFalse(bookViewModel.IsEnabled); MockLendToView.ShowDialogAction = null; }
private void LendTo(Book book) { LendToViewModel lendToViewModel = new LendToViewModel(container.GetExportedValue<ILendToView>(), book, entityService.Persons); if (lendToViewModel.ShowDialog(shellService.ShellView)) { book.LendTo = lendToViewModel.SelectedPerson; } }