public void DoesNotThrowWhenAddingNonActiveAwareObjects() { var region = new MockRegion(); var behavior = new RegionActiveAwareBehavior { Region = region }; behavior.Attach(); var collection = region.MockActiveViews.Items; collection.Add(new object()); }
public void AddPassesItselfAsTheRegionManagerOfTheRegion() { var regionManager = new RegionManager(); var region = new MockRegion(); region.Name = "region"; regionManager.Regions.Add(region); Assert.AreSame(regionManager, region.RegionManager); }
public void ShouldAddRegionWhenAddingBehavior() { var region = new MockRegion(); RegionBehaviorCollection behaviorCollection = new RegionBehaviorCollection(region); var behavior = new MockRegionBehavior(); behaviorCollection.Add("Mock", behavior); Assert.IsNotNull(behavior.Region); Assert.AreSame(region, behavior.Region); }
public void CanAddRegion() { IRegion region1 = new MockRegion(); region1.Name = "MainRegion"; RegionManager regionManager = new RegionManager(); regionManager.Regions.Add(region1); IRegion region2 = regionManager.Regions["MainRegion"]; Assert.AreSame(region1, region2); }
public void DetachStopsListeningForChanges() { var region = new MockRegion(); var behavior = new RegionActiveAwareBehavior { Region = region }; var collection = region.MockActiveViews.Items; behavior.Attach(); behavior.Detach(); ActiveAwareObject activeAwareObject = new ActiveAwareObject(); collection.Add(activeAwareObject); Assert.IsFalse(activeAwareObject.IsActive); }
public IRegion Initialize(object regionTarget, string regionName) { CreatedRegions.Add(regionName); var region = new MockRegion(); RegionManager.GetObservableRegion(regionTarget as DependencyObject).Value = region; // Fire update regions again. This also happens if a region is created and added to the regionmanager if (this.Accessor != null) Accessor.UpdateRegions(); return region; }
public void CanCheckTheExistenceOfARegion() { RegionManager regionManager = new RegionManager(); bool result = regionManager.Regions.ContainsRegionWithName("noRegion"); Assert.IsFalse(result); IRegion region = new MockRegion(); region.Name = "noRegion"; regionManager.Regions.Add(region); result = regionManager.Regions.ContainsRegionWithName("noRegion"); Assert.IsTrue(result); }
public void ShouldRemoveContextToViewRemovedFromRegion() { var behavior = new BindRegionContextToDependencyObjectBehavior(); var region = new MockRegion(); var view = new MockDependencyObject(); region.Add(view); behavior.Region = region; region.Context = "MyContext"; behavior.Attach(); region.Remove(view); var context = RegionContext.GetObservableContext(view); Assert.IsNull(context.Value); }
public void ShouldSetRegionContextOnAlreadyAddedViews() { var behavior = new BindRegionContextToDependencyObjectBehavior(); var region = new MockRegion(); var view = new MockDependencyObject(); region.Add(view); behavior.Region = region; region.Context = "MyContext"; behavior.Attach(); var context = RegionContext.GetObservableContext(view); Assert.IsNotNull(context.Value); Assert.AreEqual("MyContext", context.Value); }
public IRegion Initialize(object regionTarget, string regionName) { CreatedRegions.Add(regionName); var region = new MockRegion(); RegionManager.GetObservableRegion(regionTarget as DependencyObject).Value = region; // Fire update regions again. This also happens if a region is created and added to the regionmanager if (this.Accessor != null) { Accessor.UpdateRegions(); } return(region); }
public void ShouldSetRegionContextOnContextChange() { var behavior = new BindRegionContextToDependencyObjectBehavior(); var region = new MockRegion(); var view = new MockDependencyObject(); region.Add(view); behavior.Region = region; region.Context = "MyContext"; behavior.Attach(); Assert.AreEqual("MyContext", RegionContext.GetObservableContext(view).Value); region.Context = "MyNewContext"; region.OnPropertyChange("Context"); Assert.AreEqual("MyNewContext", RegionContext.GetObservableContext(view).Value); }
public void ShouldGetInitialValueFromHostAndSetOnRegion() { MockRegion region = new MockRegion(); SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior(); behavior.Region = region; DependencyObject mockDependencyObject = new MockDependencyObject(); behavior.HostControl = mockDependencyObject; RegionContext.GetObservableContext(mockDependencyObject).Value = "NewValue"; Assert.IsNull(region.Context); behavior.Attach(); Assert.AreEqual("NewValue", region.Context); }
public void ShouldGetViewsFromRegistryOnAttach() { var region = new MockRegion() { Name = "MyRegion" }; var viewFactory = new MockRegionContentRegistry(); var view = new object(); viewFactory.GetContentsReturnValue.Add(view); var behavior = new AutoPopulateRegionBehavior(viewFactory) { Region = region }; behavior.Attach(); Assert.AreEqual("MyRegion", viewFactory.GetContentsArgumentRegionName); Assert.AreEqual(1, region.MockViews.Items.Count); Assert.AreEqual(view, region.MockViews.Items[0]); }
public void SetsIsActivePropertyOnIActiveAwareObjects() { var region = new MockRegion(); var behavior = new RegionActiveAwareBehavior { Region = region }; behavior.Attach(); var collection = region.MockActiveViews.Items; ActiveAwareObject activeAwareObject = new ActiveAwareObject(); Assert.IsFalse(activeAwareObject.IsActive); collection.Add(activeAwareObject); Assert.IsTrue(activeAwareObject.IsActive); collection.Remove(activeAwareObject); Assert.IsFalse(activeAwareObject.IsActive); }
public void ShouldUpdateHostControlRegionContextValueWhenContextOfRegionChanges() { MockRegion region = new MockRegion(); SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior(); behavior.Region = region; DependencyObject mockDependencyObject = new MockDependencyObject(); behavior.HostControl = mockDependencyObject; ObservableObject<object> observableRegionContext = RegionContext.GetObservableContext(mockDependencyObject); behavior.Attach(); Assert.IsNull(observableRegionContext.Value); region.Context = "NewValue"; Assert.AreEqual("NewValue", observableRegionContext.Value); }
public void CanAttachBeforeSettingName() { var region = new MockRegion() { Name = null }; var viewFactory = new MockRegionContentRegistry(); var view = new object(); viewFactory.GetContentsReturnValue.Add(view); var behavior = new AutoPopulateRegionBehavior(viewFactory) { Region = region }; behavior.Attach(); Assert.IsFalse(viewFactory.GetContentsCalled); region.Name = "MyRegion"; Assert.IsTrue(viewFactory.GetContentsCalled); Assert.AreEqual("MyRegion", viewFactory.GetContentsArgumentRegionName); Assert.AreEqual(1, region.MockViews.Items.Count); Assert.AreEqual(view, region.MockViews.Items[0]); }
public void AttachShouldNotThrowWhenHostControlNull() { MockRegion region = new MockRegion(); SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior(); behavior.Region = region; behavior.Attach(); }
public void AttachShouldChangeRegionContextDependencyProperty() { MockRegion region = new MockRegion(); SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior(); behavior.Region = region; DependencyObject hostControl = new MockDependencyObject(); behavior.HostControl = hostControl; RegionContext.GetObservableContext(hostControl).Value = "NewValue"; Assert.IsNull(RegionManager.GetRegionContext(hostControl)); behavior.Attach(); Assert.AreEqual("NewValue", RegionManager.GetRegionContext(hostControl)); }
public void CanRemoveRegion() { var regionManager = new RegionManager(); IRegion region = new MockRegion(); region.Name = "TestRegion"; regionManager.Regions.Add(region); regionManager.Regions.Remove("TestRegion"); Assert.IsFalse(regionManager.Regions.ContainsRegionWithName("TestRegion")); }
public void AttachShouldNotThrowWhenHostControlNullAndRegionContextSet() { MockRegion region = new MockRegion(); SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior(); behavior.Region = region; behavior.Attach(); region.Context = "Changed"; }
public void ViewInRegionCanBeObject() { var behavior = new BindRegionContextToDependencyObjectBehavior(); var region = new MockRegion(); behavior.Region = region; behavior.Attach(); region.Add(new object()); region.Context = "new context"; }
public void ShouldRemoveRegionManagerWhenRemoving() { var regionManager = new RegionManager(); var region = new MockRegion(); region.Name = "TestRegion"; regionManager.Regions.Add(region); regionManager.Regions.Remove("TestRegion"); Assert.IsNull(region.RegionManager); }
public void ShouldSetObservableRegionContextWhenRegionContextChanges() { var region = new MockRegion(); var view = new MockDependencyObject(); var observableObject = RegionContext.GetObservableContext(view); bool propertyChangedCalled = false; observableObject.PropertyChanged += (sender, args) => propertyChangedCalled = true; Assert.IsNull(observableObject.Value); RegionManager.SetRegionContext(view, "MyContext"); Assert.IsTrue(propertyChangedCalled); Assert.AreEqual("MyContext", observableObject.Value); }