public void HostControlThatsNotTabControlThrows()
        {
            var control = new MockDependencyObject();

            IRegionAdapter adapter = new TabControlRegionAdapter(null);
            var            region  = adapter.Initialize(control, "region");
        }
        public void SettingHostControlAfterAttachThrows()
        {
            SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior();
            DependencyObject hostControl1 = new MockDependencyObject();
            behavior.HostControl = hostControl1;

            behavior.Attach();
            DependencyObject hostControl2 = new MockDependencyObject();
            behavior.HostControl = hostControl2;
        }
Exemple #3
0
        public void HostControlSetAfterAttachThrows()
        {
            var behavior     = new RegionManagerRegistrationBehavior();
            var hostControl1 = new MockDependencyObject();
            var hostControl2 = new MockDependencyObject();

            behavior.HostControl = hostControl1;
            behavior.Attach();
            behavior.HostControl = hostControl2;
        }
Exemple #4
0
 public void HostControlSetAfterAttachThrows()
 {
     var ex = Assert.Throws <InvalidOperationException>(() =>
     {
         var behavior         = new RegionManagerRegistrationBehavior();
         var hostControl1     = new MockDependencyObject();
         var hostControl2     = new MockDependencyObject();
         behavior.HostControl = hostControl1;
         behavior.Attach();
         behavior.HostControl = hostControl2;
     });
 }
Exemple #5
0
        public void AddViewPassesSameScopeByDefaultToNamedView()
        {
            var     regionManager = new MockRegionManager();
            IRegion region        = new Region();

            region.RegionManager = regionManager;
            var myView = new MockDependencyObject();

            region.Add(myView, "MyView");

            Assert.Same(regionManager, myView.GetValue(RegionManager.RegionManagerProperty));
        }
Exemple #6
0
        public void AddViewPassesDiferentScopeWhenAdding()
        {
            var     regionManager = new MockRegionManager();
            IRegion region        = new Region();

            region.RegionManager = regionManager;
            var myView = new MockDependencyObject();

            region.Add(myView, "MyView", true);

            Assert.NotSame(regionManager, myView.GetValue(RegionManager.RegionManagerProperty));
        }
Exemple #7
0
        public void SettingHostControlAfterAttachThrows()
        {
            SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior();
            DependencyObject hostControl1 = new MockDependencyObject();

            behavior.HostControl = hostControl1;

            behavior.Attach();
            DependencyObject hostControl2 = new MockDependencyObject();

            behavior.HostControl = hostControl2;
        }
        public void SettingHostControlAfterAttachThrows()
        {
            var ex = Assert.Throws <InvalidOperationException>(() =>
            {
                SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior();
                DependencyObject hostControl1 = new MockDependencyObject();
                behavior.HostControl          = hostControl1;

                behavior.Attach();
                DependencyObject hostControl2 = new MockDependencyObject();
                behavior.HostControl          = hostControl2;
            });
        }
        public void AttachShouldChangeRegionContextDependencyProperty()
        {
            MockPresentationRegion region = new MockPresentationRegion();

            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 ShouldRemoveContextToViewRemovedFromRegion()
        {
            var behavior = new BindRegionContextToDependencyObjectBehavior();
            var region = new MockPresentationRegion();
            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 MockPresentationRegion();
            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 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 void ShouldForwardRegionContextValueToHostControl()
        {
            MockRegion region = new MockRegion();

            SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior();
            behavior.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 ShouldSetRegionContextOnContextChange()
        {
            var behavior = new BindRegionContextToDependencyObjectBehavior();
            var region = new MockPresentationRegion();
            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);
        }
Exemple #15
0
        public void ShouldSetObservableRegionContextWhenRegionContextChanges()
        {
            var region = new MockPresentationRegion();
            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);
        }
Exemple #16
0
        public void ShouldForwardRegionContextValueToHostControl()
        {
            MockPresentationRegion region = new MockPresentationRegion();

            SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior();

            behavior.Region = region;
            Visual mockDependencyObject = new MockDependencyObject();

            behavior.HostControl = mockDependencyObject;

            behavior.Attach();
            Assert.IsNull(region.Context);
            RegionContext.GetObservableContext(mockDependencyObject).Value = "NewValue";

            Assert.AreEqual("NewValue", region.Context);
        }
Exemple #17
0
        public void AttachShouldChangeRegionContextDependencyProperty()
        {
            MockPresentationRegion region = new MockPresentationRegion();

            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));
        }
Exemple #18
0
        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 ShouldGetInitialValueFromHostAndSetOnRegion()
        {
            await ExecuteOnUIThread(() =>
                {
                    MockPresentationRegion region = new MockPresentationRegion();

                    SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior() { 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 ShouldSetRegionContextOnContextChange()
        {
            var behavior = new BindRegionContextToDependencyObjectBehavior();
            var region   = new MockPresentationRegion();
            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 ShouldRemoveContextToViewRemovedFromRegion()
        {
            var behavior = new BindRegionContextToDependencyObjectBehavior();
            var region   = new MockPresentationRegion();
            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 MockPresentationRegion();
            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 void ShouldCreateWindowOnViewActivation()
        {
            var parentWindow = new MockDependencyObject();
            var region = new MockRegion();
            var view = new UserControl();
            var behavior = new TestableDialogActivationBehavior();
            behavior.HostControl = parentWindow;
            behavior.Region = region;
            behavior.Attach();

            region.MockActiveViews.TriggerNotifyCollectionChangedEvent(NotifyCollectionChangedAction.Add, view);

            Assert.IsNotNull(behavior.CreatedWindow);
            Assert.IsTrue(behavior.CreatedWindow.ShowCalled);
            Assert.AreSame(view, behavior.CreatedWindow.Content);
            Assert.AreSame(parentWindow, behavior.CreatedWindow.Owner);
        }
        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 async Task ShouldSetRegionContextOnAddedView()
        {
            await ExecuteOnUIThread(() =>
                {
                    var behavior = new BindRegionContextToDependencyObjectBehavior();
                    var region = new MockPresentationRegion();
                    behavior.Region = region;
                    region.Context = "MyContext";
                    var view = new MockDependencyObject();

                    behavior.Attach();
                    region.Add(view);

                    var context = RegionContext.GetObservableContext(view);
                    Assert.IsNotNull(context.Value);
                    Assert.AreEqual("MyContext", context.Value);
                });
        }
        public void ShouldCreateWindowOnViewActivation()
        {
            var parentWindow = new MockDependencyObject();
            var region       = new MockRegion();
            var view         = new UserControl();
            var behavior     = new TestableDialogActivationBehavior();

            behavior.HostControl = parentWindow;
            behavior.Region      = region;
            behavior.Attach();

            region.MockActiveViews.TriggerNotifyCollectionChangedEvent(NotifyCollectionChangedAction.Add, view);

            Assert.IsNotNull(behavior.CreatedWindow);
            Assert.IsTrue(behavior.CreatedWindow.ShowCalled);
            Assert.AreSame(view, behavior.CreatedWindow.Content);
            Assert.AreSame(parentWindow, behavior.CreatedWindow.Owner);
        }
Exemple #27
0
        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 ShouldSetStyleToRegionWindow()
        {
            var parentWindow = new MockDependencyObject();
            var region       = new MockRegion();
            var behavior     = new TestableDialogActivationBehavior();

            behavior.HostControl = parentWindow;
            behavior.Region      = region;

            var regionStyle = new Style();

            parentWindow.SetValue(RegionPopupBehaviors.ContainerWindowStyleProperty, regionStyle);

            behavior.Attach();
            var view = new UserControl();

            region.MockActiveViews.TriggerNotifyCollectionChangedEvent(NotifyCollectionChangedAction.Add, view);

            Assert.AreEqual(regionStyle, behavior.CreatedWindow.Style);
        }
Exemple #29
0
        public void TestDependantProviderDependency()
        {
            Locator           locator   = new Locator();
            LifetimeContainer container = new LifetimeContainer();

            locator.Add(typeof(ILifetimeContainer), container);
            TestableRootCompositionContainer compositionContainer = new TestableRootCompositionContainer();

            locator.Add(new DependencyResolutionLocatorKey(typeof(CompositionContainer), null), compositionContainer);
            MockDependencyObject mockDependency =
                compositionContainer.Services.AddNew <MockDependencyObject, MockDependencyObject>();
            WCSFBuilder builder = new WCSFBuilder();

            TestDependentProviderHost.Provider = new MockDependentProvider();

            TestDependentParameterDependency obj = builder.BuildUp <TestDependentParameterDependency>(locator, "foo", null);

            Assert.IsNotNull(obj.Provider);
            Assert.AreSame(TestDependentProviderHost.Provider, obj.Provider);
            Assert.IsNotNull(TestDependentProviderHost.Provider.DependencyObject);
            Assert.AreSame(mockDependency, TestDependentProviderHost.Provider.DependencyObject);
        }
        public async Task ChangingRegionContextObservableObjectValueShouldAlsoChangeRegionContextDependencyProperty()
        {
            await ExecuteOnUIThread(() =>
                {
                    MockPresentationRegion region = new MockPresentationRegion();

                    SyncRegionContextWithHostBehavior behavior = new SyncRegionContextWithHostBehavior() { 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 AddViewPassesDiferentScopeWhenAdding()
        {
            var regionManager = new MockRegionManager();
            IRegion region = new Region();
            region.RegionManager = regionManager;
            var myView = new MockDependencyObject();

            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 MockDependencyObject();

            region.Add(myView, "MyView");

            Assert.AreSame(regionManager, myView.GetValue(RegionManager.RegionManagerProperty));
        }
        public async Task ShouldSetObservableRegionContextWhenRegionContextChanges()
        {
            await ExecuteOnUIThread(() =>
                {
                    var region = new MockPresentationRegion();
                    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);
                });
        }
        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);
        }
        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);
                });
        }
Exemple #36
0
        public void TestAddRemove()
        {
            IDependencyGraph <MockDependencyObject> graph = new DependencyGraph <MockDependencyObject>();

            MockDependencyObject a = new("a");
            MockDependencyObject b = new("b", a);
            MockDependencyObject c = new("c");
            MockDependencyObject d = new("d");

            c.Dependencies.Add(d);

            Assert.ThrowsException <ArgumentNullException>(() =>
            {
                graph.IsUsed(null);
            });
            Assert.ThrowsException <ArgumentException>(() =>
            {
                graph.IsUsed(a);
            });

            Assert.ThrowsException <ArgumentNullException>(() =>
            {
                graph.AddObject(a, null);
            });
            Assert.ThrowsException <ArgumentNullException>(() =>
            {
                graph.AddObject(null, a.Dependencies);
            });
            graph.AddObject(a, a.Dependencies);

            Assert.IsFalse(graph.IsUsed(a));

            Assert.IsTrue(graph.DependentList.Count == 1 && graph.DependentList[0] == a);
            Assert.ThrowsException <ArgumentException>(() =>
            {
                graph.AddObject(a, a.Dependencies);
            });

            graph.AddObject(b, b.Dependencies);


            Assert.IsTrue(graph.IsUsed(a));
            Assert.IsFalse(graph.IsUsed(b));

            CollectionAssert.AreEqual(graph.DependingList.ToArray(), new[] { a, b });
            CollectionAssert.AreEqual(graph.DependentList.ToArray(), new[] { b, a });

            Assert.ThrowsException <DependencyException>(() =>
            {
                graph.AddObject(c, c.Dependencies);
            });

            Assert.ThrowsException <ArgumentNullException>(() =>
            {
                graph.RemoveObject(null);
            });
            Assert.ThrowsException <ArgumentException>(() =>
            {
                graph.RemoveObject(d);
            });
            Assert.ThrowsException <DependencyException>(() =>
            {
                graph.RemoveObject(a);
            });
            graph.RemoveObject(b);
            Assert.ThrowsException <ArgumentException>(() =>
            {
                graph.IsUsed(b);
            });
            Assert.IsFalse(graph.IsUsed(a));


            graph.RemoveObject(a);

            Assert.IsTrue(graph.DependentList.Count == 0);

            c = new MockDependencyObject("c", a);
            d = new MockDependencyObject("d", a, c);
            var e = new MockDependencyObject("e", a, d);
            var f = new MockDependencyObject("f", e, b);
            var g = new MockDependencyObject("g", c);
            var h = new MockDependencyObject("h", b, a);
            var i = new MockDependencyObject("i", a, d, e, f);
            var j = new MockDependencyObject("j", a);
            var k = new MockDependencyObject("k");

            Dictionary <MockDependencyObject, MockDependencyObject[]> dependingDic = new();

            dependingDic.Add(a, Array.Empty <MockDependencyObject>());
            dependingDic.Add(b, new[] { a });
            dependingDic.Add(c, new[] { a });
            dependingDic.Add(d, new[] { a, c });
            dependingDic.Add(e, new[] { a, d, c });
            dependingDic.Add(f, new[] { a, b, c, e, d });
            dependingDic.Add(g, new[] { c, a });
            dependingDic.Add(h, new[] { a, b });
            dependingDic.Add(i, new[] { a, c, d, e, b, f });
            dependingDic.Add(j, new[] { a });
            dependingDic.Add(k, Array.Empty <MockDependencyObject>());

            Dictionary <MockDependencyObject, MockDependencyObject[]> dependentDic = new();

            dependentDic.Add(a, new[] { b, c, d, e, f, g, h, i, j });
            dependentDic.Add(b, new[] { h, f, i });
            dependentDic.Add(c, new[] { g, e, d, f, i });
            dependentDic.Add(d, new[] { e, f, i });
            dependentDic.Add(e, new[] { f, i });
            dependentDic.Add(f, new[] { i });
            dependentDic.Add(g, Array.Empty <MockDependencyObject>());
            dependentDic.Add(h, Array.Empty <MockDependencyObject>());
            dependentDic.Add(i, Array.Empty <MockDependencyObject>());
            dependentDic.Add(j, Array.Empty <MockDependencyObject>());
            dependentDic.Add(k, Array.Empty <MockDependencyObject>());

            graph.AddObject(a, a.Dependencies);
            graph.AddObject(b, b.Dependencies);
            graph.AddObject(c, c.Dependencies);
            Assert.ThrowsException <DependencyException>(() =>
            {
                graph.AddObject(e, e.Dependencies);
            });
            graph.AddObject(d, d.Dependencies);
            graph.AddObject(e, e.Dependencies);
            graph.AddObject(f, f.Dependencies);
            graph.AddObject(g, g.Dependencies);
            graph.AddObject(h, h.Dependencies);
            graph.AddObject(i, i.Dependencies);
            graph.AddObject(j, j.Dependencies);
            graph.AddObject(k, k.Dependencies);

            AssertDependingOrder(graph.DependingList);
            AssertDependentOrder(graph.DependentList);

            var all = new[] { a, b, c, d, e, f, g, h, i, j, k };

            CollectionAssert.AreEquivalent(all, graph.DependentList.ToArray());
            CollectionAssert.AreEquivalent(graph.DependingList.ToArray(), graph.DependentList.ToArray());

            foreach (var obj in all)
            {
                var dependencies = graph.GetDependencies(obj);
                var exp          = dependingDic[obj];
                CollectionAssert.AreEquivalent(exp, dependencies, $"failed for {obj.Name}, expected: {ToString(exp)}, actual: {ToString(dependencies.ToArray())}");
                AssertDependingOrder(dependencies);

                exp = dependentDic[obj];
                var dependents = graph.GetDependents(obj);
                CollectionAssert.AreEquivalent(exp, dependents, $"failed for {obj.Name}, expected: {ToString(exp)}, actual: {ToString(dependents.ToArray())}");
                AssertDependentOrder(dependents);
            }
        }
        public void ShouldSetStyleToRegionWindow()
        {
            var parentWindow = new MockDependencyObject();
            var region = new MockRegion();
            var behavior = new TestableDialogActivationBehavior();
            behavior.HostControl = parentWindow;
            behavior.Region = region;

            var regionStyle = new Style();
            parentWindow.SetValue(RegionPopupBehaviors.ContainerWindowStyleProperty, regionStyle);

            behavior.Attach();
            var view = new UserControl();
            region.MockActiveViews.TriggerNotifyCollectionChangedEvent(NotifyCollectionChangedAction.Add, view);

            Assert.AreEqual(regionStyle, behavior.CreatedWindow.Style);
        }
        public void HostControlThatsNotTabControlThrows()
        {
            var control = new MockDependencyObject();

            IRegionAdapter adapter = new TabControlRegionAdapter(null);
            var region = adapter.Initialize(control, "region");

        }