public ShellPresentationModel(IRegionManager regionManager) { MainRegion = new Region(); GlobalCommandsRegion = new Region(); regionManager.Regions.Add("MainRegion", MainRegion); regionManager.Regions.Add("GlobalCommandsRegion", GlobalCommandsRegion); }
/// <summary> /// Initializes a new instance of the <see cref="ShellViewModel"/> class. /// </summary> /// <param name="regionManager">The region manager.</param> public ShellViewModel(IRegionManager regionManager) { MainRegion = new Region(); EditRegion = new SingleActiveRegion(); regionManager.Regions.Add("MainRegion", MainRegion); regionManager.Regions.Add("EditRegion", EditRegion); }
public void RemoveInexistentViewThrows() { IRegion region = new Region(); object view = new object(); region.Remove(view); Assert.AreEqual(0, region.Views.Cast<object>().Count()); }
public void CanAddContentToRegion() { IRegion region = new Region(); Assert.AreEqual(0, region.Views.Cast<object>().Count()); region.Add(new object()); Assert.AreEqual(1, region.Views.Cast<object>().Count()); }
public void CanRemoveContentFromRegion() { IRegion region = new Region(); object view = new object(); region.Add(view); region.Remove(view); Assert.AreEqual(0, region.Views.Cast<object>().Count()); }
public void RegionExposesCollectionOfContainedViews() { IRegion region = new Region(); object view = new object(); region.Add(view); var views = region.Views; Assert.IsNotNull(views); Assert.AreEqual(1, views.Cast<object>().Count()); Assert.AreSame(view, views.Cast<object>().ElementAt(0)); }
public void ShowViewFiresViewShowedEvent() { bool viewActivated = false; IRegion region = new Region(); object model = new object(); region.ActiveViews.CollectionChanged += (o, e) => { if (e.Action == NotifyCollectionChangedAction.Add && e.NewItems.Contains(model)) viewActivated = true; }; region.Add(model); Assert.IsFalse(viewActivated); region.Activate(model); Assert.IsTrue(viewActivated); }
public void ViewRemovedEventPassesTheViewRemovedInTheEventArgs() { object removedView = null; IRegion region = new Region(); region.Views.CollectionChanged += (sender, e) => { if (e.Action == NotifyCollectionChangedAction.Remove) removedView = e.OldItems[0]; }; object model = new object(); region.Add(model); Assert.IsNull(removedView); region.Remove(model); Assert.AreSame(model, removedView); }
public void RemoveViewFiresViewRemovedEvent() { bool viewRemoved = false; IRegion region = new Region(); object model = new object(); region.Views.CollectionChanged += (sender, e) => { if (e.Action == NotifyCollectionChangedAction.Remove) viewRemoved = true; }; region.Add(model); Assert.IsFalse(viewRemoved); region.Remove(model); Assert.IsTrue(viewRemoved); }
public void ViewAddedEventPassesTheViewAddedInTheEventArgs() { object viewAdded = null; IRegion region = new Region(); region.Views.CollectionChanged += (sender, e) => { viewAdded = e.NewItems[0]; }; object model = new object(); Assert.IsNull(viewAdded); region.Add(model); Assert.IsNotNull(viewAdded); Assert.AreSame(model, viewAdded); }
public void GetViewReturnsNullWhenViewDoesNotExistInRegion() { IRegion region = new Region(); Assert.IsNull(region.GetView("InexistentView")); }
public void AddNamedViewWithNullOrEmptyStringNameThrows() { IRegion region = new Region(); region.Add(new object(), string.Empty); }
public void DeactivateNonAddedViewThrows() { IRegion region = new Region(); object nonAddedView = new object(); region.Deactivate(nonAddedView); }
public void AddingNonDependencyObjectToRegionDoesNotThrow() { IRegion region = new Region(); object model = new object(); region.Add(model); Assert.AreEqual(1, region.Views.Cast<object>().Count()); }
public void AddViewReturnsNewRegionManager() { var regionManager = new MockRegionManager(); IRegion region = new Region(); region.RegionManager = regionManager; var myView = new object(); var returnedRegionManager = region.Add(myView, "MyView", true); Assert.AreNotSame(regionManager, returnedRegionManager); }
public void CreatingNewScopesAsksTheRegionManagerForNewInstance() { var regionManager = new MockRegionManager(); IRegion region = new Region(); region.RegionManager = regionManager; var myView = new object(); region.Add(myView, "MyView", true); Assert.IsTrue(regionManager.CreateRegionManagerCalled); }
public void AddViewPassesDiferentScopeWhenAdding() { var regionManager = new MockRegionManager(); IRegion region = new Region(); region.RegionManager = regionManager; var myView = new DependencyObject(); region.Add(myView, "MyView", true); Assert.AreNotSame(regionManager, myView.GetValue(RegionManager.RegionManagerProperty)); }
public void AddViewPassesSameScopeByDefaultToNamedView() { var regionManager = new MockRegionManager(); IRegion region = new Region(); region.RegionManager = regionManager; var myView = new DependencyObject(); region.Add(myView, "MyView"); Assert.AreSame(regionManager, myView.GetValue(RegionManager.RegionManagerProperty)); }
public void GetViewReturnsNullAfterRemovingViewFromRegion() { IRegion region = new Region(); object myView = new object(); region.Add(myView, "MyView"); region.Remove(myView); Assert.IsNull(region.GetView("MyView")); }
public void AddingSameViewTwiceThrows() { object view = new object(); IRegion region = new Region(); region.Add(view); try { region.Add(view); Assert.Fail(); } catch (InvalidOperationException ex) { Assert.AreEqual("View already exists in region.", ex.Message); } catch { Assert.Fail(); } }
public void RemovingViewAlsoRemovesItFromActiveViews() { IRegion region = new Region(); object model = new object(); region.Add(model); region.Activate(model); Assert.IsTrue(region.ActiveViews.Contains(model)); region.Remove(model); Assert.IsFalse(region.ActiveViews.Contains(model)); }
public void AddingDuplicateNamedViewThrows() { IRegion region = new Region(); region.Add(new object(), "MyView"); region.Add(new object(), "MyView"); }
public void ActivateNullViewThrows() { IRegion region = new Region(); region.Activate(null); }
public void GetViewWithNullOrEmptyStringThrows() { IRegion region = new Region(); region.GetView(string.Empty); }
public void CanAddAndRetrieveNamedViewInstance() { IRegion region = new Region(); object myView = new object(); region.Add(myView, "MyView"); object returnedView = region.GetView("MyView"); Assert.IsNotNull(returnedView); Assert.AreSame(returnedView, myView); }
public void AddViewPassesSameScopeByDefaultToView() { var regionManager = new MockRegionManager(); IRegion region = new Region(); region.RegionManager = regionManager; var myView = new ContentControl(); region.Add(myView); Assert.AreSame(regionManager, myView.GetValue(RegionManager.RegionManagerProperty)); }
public void AddViewRaisesCollectionViewEvent() { bool viewAddedCalled = false; IRegion region = new Region(); region.Views.CollectionChanged += (sender, e) => { if (e.Action == NotifyCollectionChangedAction.Add) viewAddedCalled = true; }; object model = new object(); Assert.IsFalse(viewAddedCalled); region.Add(model); Assert.IsTrue(viewAddedCalled); }
public void AddNamedViewIsAlsoListedInViewsCollection() { IRegion region = new Region(); object myView = new object(); region.Add(myView, "MyView"); Assert.AreEqual(1, region.Views.Cast<object>().Count()); Assert.AreSame(myView, region.Views.Cast<object>().ElementAt(0)); }