コード例 #1
0
        public void ShouldNotActivateAdditionalViewsAdded()
        {
            var            control = new ContentControl();
            IRegionAdapter adapter = new TestableContentControlRegionAdapter();

            MockRegion region = (MockRegion)adapter.Initialize(control, "Region1");

            var mockView = new object();

            region.Add(mockView);
            region.Add(new object());

            Assert.AreEqual(1, region.ActiveViews.Count());
            Assert.IsTrue(region.ActiveViews.Contains(mockView));
        }
コード例 #2
0
        public void ShouldActivateViewOnWatchItemAdded()
        {
            try
            {
                var mockRegionContentRegistry = new MockRegionViewRegistry();
                ServiceLocator.SetLocatorProvider(
                    () => new MockServiceLocator(
                        () => mockRegionContentRegistry));
                var watchListView = new MockWatchListView();
                var regionManager = new MockRegionManager();
                var region        = new MockRegion();
                region.Add(watchListView);
                regionManager.Regions.Add("MainRegion", region);
                var presentationModel = new MockWatchListPresentationModel {
                    View = watchListView
                };
                WatchListController controller =
                    new WatchListController(regionManager, presentationModel);

                controller.Run();

                presentationModel.WatchListItems.Add(new WatchItem("MySymbol", 10m));

                Assert.IsTrue(region.ActivateCalled);
                Assert.AreSame(watchListView, region.ActivateArg);
            }
            finally
            {
                ServiceLocator.SetLocatorProvider(() => null);
            }
        }
コード例 #3
0
        public void ShouldActivateAddedViewWhenNoneIsActive()
        {
            var            control = new ContentControl();
            IRegionAdapter adapter = new TestableContentControlRegionAdapter();

            MockRegion region = (MockRegion)adapter.Initialize(control, "Region1");

            var mockView1 = new object();

            region.Add(mockView1);
            region.Deactivate(mockView1);

            var mockView2 = new object();

            region.Add(mockView2);

            Assert.AreEqual(1, region.ActiveViews.Count());
            Assert.IsTrue(region.ActiveViews.Contains(mockView2));
        }
        public void ViewInRegionCanBeObject()
        {
            var behavior = new BindRegionContextToDependencyObjectBehavior();
            var region   = new MockRegion();

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

            region.Add(new object());
            region.Context = "new context";
        }
コード例 #5
0
        public void CanRemoveViewWhenNoneActive()
        {
            var            control = new ContentControl();
            IRegionAdapter adapter = new TestableContentControlRegionAdapter();

            MockRegion region = (MockRegion)adapter.Initialize(control, "Region1");

            var mockView1 = new object();

            region.Add(mockView1);
            region.Deactivate(mockView1);
            region.Remove(mockView1);
            Assert.AreEqual(0, region.ActiveViews.Count());
        }
        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 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);
        }