public void InitializePresenter(IStepPickView view, StepPickViewModel viewModel = null) { ViewModel = viewModel ?? new StepPickViewModel(); View = view; View.DataContext = ViewModel; View.Presenter = this; _kmlObjectsTreePresenter.InitializePresenter(View.KmlObjectsTreeView, ViewModel.KmlObjectsTree); }
private StepPickViewModel SetupForActivatedMethod(KmlDocument kmlDocument) { var kmzUrl = new Uri(DEFAULT_KML_URL); var vm = new StepPickViewModel(); _userSessionMock.SetupGet(x => x.InputSource).Returns(InputSource.GoogleMyMapsUrl); _userSessionMock.SetupGet(x => x.InputUri).Returns("http://input-uri"); _presenter.SetupGet(x => x.ViewModel).Returns(vm); _googleMyMapAdapterMock.Setup(x => x.GetKmlDownloadUrl(new Uri("http://input-uri"))).Returns(kmzUrl); _kmlFileReaderMock.Setup(x => x.ReadFromFile(It.IsAny <string>())).Returns(Task.FromResult(kmlDocument)); return(vm); }
public async Task When_going_next_and_placemarks_arent_available_then_false_is_returned() { // Arrange var kmlDocument = new KmlDocument { Folders = { new KmlFolder(new[] { new KmlPlacemark { Name = "pm-1" } } ) } }; var vm = new StepPickViewModel { KmlObjectsTree = { FoldersToInclude = { new KmlFolderNodeViewModel(kmlDocument.Folders[0]) { Enabled = true, Children = { new KmlPlacemarkNodeViewModel(kmlDocument.Folders[0].Placemarks[0], null) { Enabled = false } } } } } }; _presenter.SetupGet(x => x.ViewModel).Returns(vm); _presenter.Object.SetDocument(kmlDocument); _userSessionMock.SetupProperty(x => x.Document); // Act var result = await _presenter.Object.BeforeGoNext(); // Verify Assert.IsFalse(result); }
public async Task When_going_next_the_session_is_updated() { // Arrange var kmlDocument = new KmlDocument { Folders = { new KmlFolder("folder-1"), new KmlFolder("folder-2", new[] { new KmlPlacemark { Name = "pm-1" }, new KmlPlacemark { Name = "pm-2" } } ) } }; var vm = new StepPickViewModel { KmlObjectsTree = { FoldersToInclude = { new KmlFolderNodeViewModel(kmlDocument.Folders[0]) { Enabled = false }, new KmlFolderNodeViewModel(kmlDocument.Folders[1]) { Enabled = true, Children = { new KmlPlacemarkNodeViewModel(kmlDocument.Folders[1].Placemarks[0], null) { Enabled = false }, new KmlPlacemarkNodeViewModel(kmlDocument.Folders[1].Placemarks[1], null) { Enabled = true } } } } } }; _presenter.SetupGet(x => x.ViewModel).Returns(vm); _presenter.Object.SetDocument(kmlDocument); _userSessionMock.SetupProperty(x => x.Document); // Act var result = await _presenter.Object.BeforeGoNext(); // Verify Assert.IsTrue(result); Assert.AreEqual(kmlDocument.Title, _userSessionMock.Object.Document.Title); Assert.AreEqual(1, _userSessionMock.Object.Document.Folders.Count); Assert.AreEqual(kmlDocument.Folders[1].Name, _userSessionMock.Object.Document.Folders[0].Name); Assert.AreEqual(1, _userSessionMock.Object.Document.Folders[0].Placemarks.Count); Assert.AreEqual(kmlDocument.Folders[1].Placemarks[1].Name, _userSessionMock.Object.Document.Folders[0].Placemarks[0].Name); }