public void AttachShouldNotThrowWhenHostControlNull() { MockPresentationRegion region = new MockPresentationRegion(); SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior(); behavior.Region = region; behavior.Attach(); }
public void ShouldGetInitialValueFromHostAndSetOnRegion() { MockPresentationRegion region = new MockPresentationRegion(); 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 async Task ShouldForwardRegionContextValueToHostControl() { await ExecuteOnUIThread(() => { MockPresentationRegion region = new MockPresentationRegion(); SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior() { Region = region }; DependencyObject mockDependencyObject = new MockDependencyObject(); behavior.HostControl = mockDependencyObject; behavior.Attach(); Assert.IsNull(region.Context); RegionContext.GetObservableContext(mockDependencyObject).Value = "NewValue"; Assert.AreEqual("NewValue", region.Context); }); }
public void ShouldUpdateHostControlRegionContextValueWhenContextOfRegionChanges() { MockPresentationRegion region = new MockPresentationRegion(); 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 ChangingRegionContextObservableObjectValueShouldAlsoChangeRegionContextDependencyProperty() { MockPresentationRegion region = new MockPresentationRegion(); SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior(); behavior.Region = region; DependencyObject hostControl = new MockDependencyObject(); behavior.HostControl = hostControl; behavior.Attach(); Assert.IsNull(RegionManager.GetRegionContext(hostControl)); RegionContext.GetObservableContext(hostControl).Value = "NewValue"; Assert.AreEqual("NewValue", RegionManager.GetRegionContext(hostControl)); }
public void SettingHostControlAfterAttachThrows() { SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior(); DependencyObject hostControl1 = new MockDependencyObject(); behavior.HostControl = hostControl1; behavior.Attach(); DependencyObject hostControl2 = new MockDependencyObject(); behavior.HostControl = hostControl2; }
public async Task SettingHostControlAfterAttachThrows() { await ExecuteOnUIThread(() => { SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior(); DependencyObject hostControl1 = new MockDependencyObject(); behavior.HostControl = hostControl1; behavior.Attach(); DependencyObject hostControl2 = new MockDependencyObject(); Assert.ThrowsException<InvalidOperationException>(() => behavior.HostControl = hostControl2); }); }
public async Task AttachShouldChangeRegionContextDependencyProperty() { await ExecuteOnUIThread(() => { MockPresentationRegion region = new MockPresentationRegion(); SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior() { 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 AttachShouldNotThrowWhenHostControlNullAndRegionContextSet() { MockPresentationRegion region = new MockPresentationRegion(); SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior() { Region = region }; behavior.Attach(); region.Context = "Changed"; }