public void ControllerDoesNotAddViewWhenShowDetailsIfIsAlreadyPresent()
        {
            container.RegisterType <IEmployeesDetailsPresenter, MockEmployeesDetailsPresenter>();
            container.RegisterType <IProjectsListPresenter, MockProjectsListPresenter>();

            var regionManager = new MockRegionManager();
            var detailsRegion = new MockRegion();

            regionManager.Regions.Add(RegionNames.DetailsRegion, detailsRegion);
            var scopedRegionManager = new MockRegionManager();

            scopedRegionManager.Regions.Add(RegionNames.TabRegion, new MockRegion());
            detailsRegion.AddReturnValue = scopedRegionManager;

            BusinessEntities.Employee employee = new BusinessEntities.Employee(10)
            {
                LastName = "Con", FirstName = "Aaron"
            };

            EmployeesController controller = new EmployeesController(container, regionManager);

            Assert.AreEqual <int>(0, detailsRegion.ViewsCount);

            controller.OnEmployeeSelected(employee);
            controller.OnEmployeeSelected(employee);

            Assert.AreEqual <int>(1, detailsRegion.ViewsCount);
            Assert.IsTrue(detailsRegion.ActivateCalled);
        }
Exemple #2
0
        public void WhenRegionManagerChangesToNotNullValue_ThenChildViewsRegionManagerIsNotCleared()
        {
            var regionManager = new MockRegionManager();

            var region = new Region();

            region.RegionManager = regionManager;

            var behavior = new ClearChildViewsRegionBehavior();

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

            var childView = new MockFrameworkElement();

            region.Add(childView);

            childView.SetValue(ClearChildViewsRegionBehavior.ClearChildViewsProperty, true);

            Assert.AreEqual(regionManager, childView.GetValue(RegionManager.RegionManagerProperty));

            region.RegionManager = new MockRegionManager();

            Assert.IsNotNull(childView.GetValue(RegionManager.RegionManagerProperty));
        }
Exemple #3
0
        public void ShowViewFiresViewShowedEvent()
        {
            bool viewActivated = false;

            var     regionManager = new MockRegionManager();
            var     control       = new MockControl();
            IRegion region        = new RegionBase(control);

            region.RegionManager = regionManager;
            IView myView = new MockView();

            region.ActiveViews.CollectionChanged += (o, e) =>
            {
                if (e.Action == NotifyCollectionChangedAction.Add && e.NewItems.Contains(myView))
                {
                    viewActivated = true;
                }
            };
            region.Add(myView);
            Assert.IsFalse(viewActivated);

            region.Activate(myView);

            Assert.IsTrue(viewActivated);
        }
Exemple #4
0
 public void TestInitialize()
 {
     this.container      = new MockUnityContainer();
     this.regionManager  = new MockRegionManager();
     this.menuButtonView = new MockAssetBrowserMenuButtonView();
     this.windowManager  = new MockWindowManager();
 }
Exemple #5
0
        public void RemoveViewFiresViewRemovedEvent()
        {
            bool viewRemoved = false;

            var     regionManager = new MockRegionManager();
            var     control       = new MockControl();
            IRegion region        = new RegionBase(control);

            region.RegionManager = regionManager;
            IView myView = new MockView();

            region.Views.CollectionChanged += (sender, e) =>
            {
                if (e.Action == NotifyCollectionChangedAction.Remove)
                {
                    viewRemoved = true;
                }
            };

            region.Add(myView);
            Assert.IsFalse(viewRemoved);

            region.Remove(myView);

            Assert.IsTrue(viewRemoved);
        }
Exemple #6
0
        public void CanRegisterDelegate()
        {
            try
            {
                var mockRegionContentRegistry = new MockRegionContentRegistry();

                string        regionName      = null;
                Func <object> contentDelegate = null;

                Func <object> expectedDelegate = () => true;
                mockRegionContentRegistry.RegisterContentWithDelegate = (name, usedDelegate) =>
                {
                    regionName      = name;
                    contentDelegate = usedDelegate;
                    return(null);
                };
                ServiceLocator.SetLocatorProvider(
                    () => new MockServiceLocator(
                        () => mockRegionContentRegistry));

                var regionManager = new MockRegionManager();

                regionManager.RegisterViewWithRegion("Region1", expectedDelegate);

                Assert.AreEqual("Region1", regionName);
                Assert.AreEqual(expectedDelegate, contentDelegate);
            }
            finally
            {
                ServiceLocator.SetLocatorProvider(null);
            }
        }
Exemple #7
0
 public void SetUp()
 {
     regionManager = new MockRegionManager();
     regionManager.Regions.Add("ActionRegion", new MockRegion());
     ordersRegion = new MockRegion();
     regionManager.Regions.Add("OrdersRegion", ordersRegion);
 }
        public void ShowTheNewlyAddedViewInTheDetailsRegion()
        {
            container.RegisterType <IEmployeesDetailsPresenter, MockEmployeesDetailsPresenter>();
            container.RegisterType <IProjectsListPresenter, MockProjectsListPresenter>();

            var regionManager = new MockRegionManager();
            var detailsRegion = new MockRegion();

            regionManager.Regions.Add(RegionNames.DetailsRegion, detailsRegion);
            var scopedRegionManager = new MockRegionManager();

            scopedRegionManager.Regions.Add(RegionNames.TabRegion, new MockRegion());
            detailsRegion.AddReturnValue = scopedRegionManager;

            BusinessEntities.Employee employee1 = new BusinessEntities.Employee(10)
            {
                LastName = "Mock1", FirstName = "Employee1"
            };

            EmployeesController controller = new EmployeesController(container, regionManager);

            controller.OnEmployeeSelected(employee1);

            Assert.AreEqual <int>(1, detailsRegion.ViewsCount);
            Assert.IsTrue(detailsRegion.ActivateCalled);
        }
        public void ShouldCreateRegion()
        {
            try
            {
                var regionManager = new MockRegionManager();
                ServiceLocator.SetLocatorProvider(() => new MockServiceLocator(() => regionManager));

                FrameworkElement hostControl = new MockFrameworkElement();
                RegionPopupBehaviors.RegisterNewPopupRegion(hostControl, "MyPopupRegion");
                RegionPopupBehaviors.SetCreatePopupRegionWithName(hostControl, "MyPopupRegion");
                Assert.AreEqual("MyPopupRegion", RegionPopupBehaviors.GetCreatePopupRegionWithName(hostControl));

                var style = new Style();
                RegionPopupBehaviors.SetContainerWindowStyle(hostControl, style);
                Assert.AreEqual(style, RegionPopupBehaviors.GetContainerWindowStyle(hostControl));

                Assert.IsTrue(regionManager.MockRegions.Regions.ContainsKey("MyPopupRegion"));
                Assert.IsNotNull(regionManager.MockRegions.Regions["MyPopupRegion"]);
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"], typeof(SingleActiveRegion));
                Assert.IsTrue(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors.ContainsKey(DialogActivationBehavior.BehaviorKey));
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors[DialogActivationBehavior.BehaviorKey], typeof(WindowDialogActivationBehavior));
            }
            finally
            {
                ServiceLocator.SetLocatorProvider(() => null);
            }
        }
Exemple #10
0
        public void RegionDoesNotGetAddedTwiceWhenUpdatingRegions()
        {
            var regionManager = new MockRegionManager();
            var control       = new MockFrameworkElement();

            var regionScopeControl = new ContentControl();
            var accessor           = new MockRegionManagerAccessor
            {
                GetRegionManager = d => d == regionScopeControl ? regionManager : null
            };

            var behavior = new RegionManagerRegistrationBehavior()
            {
                RegionManagerAccessor = accessor,
                Region = new MockPresentationRegion()
                {
                    Name = "myRegionName"
                },
                HostControl = control
            };

            behavior.Attach();

            Assert.IsFalse(regionManager.MockRegionCollection.AddCalled);

            regionScopeControl.Content = control;
            accessor.UpdateRegions();

            Assert.IsTrue(regionManager.MockRegionCollection.AddCalled);
            regionManager.MockRegionCollection.AddCalled = false;

            accessor.UpdateRegions();
            Assert.IsFalse(regionManager.MockRegionCollection.AddCalled);
        }
Exemple #11
0
        public void ShouldAddSequencesViewToProjectBrowserRegion()
        {
            var regionManager      = new MockRegionManager();
            var regionViewRegistry = new MockRegionViewRegistry();
            var container          = new MockUnityResolver();
            var menuButtonView     = new MockMenuButtonView();

            MockTimelinePresenter  timelinePresenter = new MockTimelinePresenter();
            MockSequencesViewModel sequenceViewModel = new MockSequencesViewModel();

            container.Bag[typeof(ITimelinePresenter)]  = timelinePresenter;
            container.Bag[typeof(ISequencesViewModel)] = sequenceViewModel;

            MockTimelineMenuButtonViewModel menuViewModel = new MockTimelineMenuButtonViewModel();

            menuViewModel.View = menuButtonView;

            container.Bag[typeof(IMenuButtonViewModel)] = menuViewModel;

            MockRegion mainRegion = new MockRegion {
                Name = "MainRegion"
            };
            MockRegion menuRegion = new MockRegion {
                Name = "MenuRegion"
            };

            regionManager.Regions.Add(mainRegion);
            regionManager.Regions.Add(menuRegion);

            var module = new TimelineModule(container, regionManager, regionViewRegistry, this.windowManager);

            module.Initialize();

            Assert.IsInstanceOfType(regionViewRegistry.ViewsByRegion[RegionNames.ProjectBrowserRegion], typeof(ISequencesView));
        }
        public void CanRegisterViewType()
        {
            try
            {
                var mockRegionContentRegistry = new MockRegionContentRegistry();

                string regionName = null;
                Type viewType = null;

                mockRegionContentRegistry.RegisterContentWithViewType = (name, type) =>
                                                                            {
                                                                                regionName = name;
                                                                                viewType = type;
                                                                                return null;
                                                                            };
                ServiceLocator.SetLocatorProvider(
                    () => new MockServiceLocator
                    {
                        GetInstance = t => mockRegionContentRegistry
                    });

                var regionManager = new MockRegionManager();

                regionManager.RegisterViewWithRegion("Region1", typeof(object));

                Assert.AreEqual(regionName, "Region1");
                Assert.AreEqual(viewType, typeof(object));


            }
            finally
            {
                ServiceLocator.SetLocatorProvider(null);
            }
        }
Exemple #13
0
        public void ShouldCreateRegion()
        {
            try
            {
                var regionManager = new MockRegionManager();
                ServiceLocator.SetLocatorProvider(() => new MockServiceLocator(() => regionManager));

                FrameworkElement hostControl = new MockFrameworkElement();
                RegionPopupBehaviors.RegisterNewPopupRegion(hostControl, "MyPopupRegion");
                RegionPopupBehaviors.SetCreatePopupRegionWithName(hostControl, "MyPopupRegion");
                Assert.AreEqual("MyPopupRegion", RegionPopupBehaviors.GetCreatePopupRegionWithName(hostControl));

                var style = new Style();
                RegionPopupBehaviors.SetContainerWindowStyle(hostControl, style);
                Assert.AreEqual(style, RegionPopupBehaviors.GetContainerWindowStyle(hostControl));

                Assert.IsTrue(regionManager.MockRegions.Regions.ContainsKey("MyPopupRegion"));
                Assert.IsNotNull(regionManager.MockRegions.Regions["MyPopupRegion"]);
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"], typeof(SingleActiveRegion));
                Assert.IsTrue(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors.ContainsKey(DialogActivationBehavior.BehaviorKey));
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors[DialogActivationBehavior.BehaviorKey], typeof(WindowDialogActivationBehavior));
            }
            finally
            {
                ServiceLocator.SetLocatorProvider(() => null);
            }
        }
Exemple #14
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);
            }
        }
        public void SetUp()
        {
            this.view           = new MockSettingsView();
            this.projectService = new MockProjectService();
            this.projectService.GetCurrentProjectReturnValue.AutoSaveInterval = 30;
            this.aspectRatioChangedEvent   = new MockAspectRatioChangedEvent();
            this.smpteTimeCodeChangedEvent = new MockSmtpeTimeCodeChangedEvent();
            this.startTimeCodeChangedEvent = new MockStartTimeCodeChangedEvent();
            this.editModeChangedEvent      = new MockEditModeChangedEvent();
            this.pickThumbnailEvent        = new MockPickThumbnailEvent();
            this.thumbnailEvent            = new MockThumbnailEvent();
            this.regionManager             = new MockRegionManager();
            this.toolsRegion = new MockRegion {
                Name = RegionNames.ToolsRegion
            };

            this.regionManager.Regions.Add(this.toolsRegion);

            this.eventAggregator = new MockEventAggregator();
            this.eventAggregator.AddMapping <AspectRatioChangedEvent>(this.aspectRatioChangedEvent);
            this.eventAggregator.AddMapping <SmpteTimeCodeChangedEvent>(this.smpteTimeCodeChangedEvent);
            this.eventAggregator.AddMapping <StartTimeCodeChangedEvent>(this.startTimeCodeChangedEvent);
            this.eventAggregator.AddMapping <EditModeChangedEvent>(this.editModeChangedEvent);
            this.eventAggregator.AddMapping <PickThumbnailEvent>(this.pickThumbnailEvent);
            this.eventAggregator.AddMapping <ThumbnailEvent>(this.thumbnailEvent);
        }
        public void CanRegisterDelegate()
        {
            try
            {
                var mockRegionContentRegistry = new MockRegionContentRegistry();

                string regionName = null;
                Func<object> contentDelegate = null;

                Func<object> expectedDelegate = () => true;
                mockRegionContentRegistry.RegisterContentWithDelegate = (name, usedDelegate) =>
                {
                    regionName = name;
                    contentDelegate = usedDelegate;
                    return null;
                };
                ServiceLocator.SetLocatorProvider(
                    () => new MockServiceLocator
                        {
                            GetInstance = t => mockRegionContentRegistry
                        });

                var regionManager = new MockRegionManager();

                regionManager.RegisterViewWithRegion("Region1", expectedDelegate);

                Assert.AreEqual("Region1", regionName);
                Assert.AreEqual(expectedDelegate, contentDelegate);

            }
            finally
            {
                ServiceLocator.SetLocatorProvider(null);
            }
        }
Exemple #17
0
        public void RegionGetsRemovedFromRegionManagerWhenRemovedFromScope()
        {
            var regionManager      = new MockRegionManager();
            var control            = new MockFrameworkElement();
            var regionScopeControl = new ContentControl();
            var accessor           = new MockRegionManagerAccessor
            {
                GetRegionManager = d => d == regionScopeControl ? regionManager : null
            };

            var region = new MockPresentationRegion()
            {
                Name = "myRegionName"
            };
            var behavior = new RegionManagerRegistrationBehavior()
            {
                RegionManagerAccessor = accessor,
                Region      = region,
                HostControl = control
            };

            behavior.Attach();

            regionScopeControl.Content = control;
            accessor.UpdateRegions();
            Assert.IsTrue(regionManager.MockRegionCollection.AddCalled);
            Assert.AreSame(region, regionManager.MockRegionCollection.AddArgument);

            regionScopeControl.Content = null;
            accessor.UpdateRegions();

            Assert.IsTrue(regionManager.MockRegionCollection.RemoveCalled);
        }
        public void ShouldCreateRegion()
        {
            try
            {
                var regionManager            = new MockRegionManager();
                var windowManager            = new MockWindowManager();
                var dialogActivationBehavior = new DialogActivationBehavior(windowManager);

                ServiceLocator.SetLocatorProvider(
                    () =>
                    new MockServiceLocator(
                        new Tuple <Type, Func <object> >(typeof(IRegionManager), () => regionManager),
                        new Tuple <Type, Func <object> >(typeof(DialogActivationBehavior), () => dialogActivationBehavior)));

                FrameworkElement hostControl = new MockFrameworkElement();
                RegionWindowBehaviors.RegisterNewWindowRegion(hostControl, "MyPopupRegion");

                Assert.IsTrue(regionManager.MockRegions.Regions.ContainsKey("MyPopupRegion"));
                Assert.IsNotNull(regionManager.MockRegions.Regions["MyPopupRegion"]);
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"], typeof(AllActiveRegion));
                Assert.IsTrue(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors.ContainsKey(DialogActivationBehavior.BehaviorKey));
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors[DialogActivationBehavior.BehaviorKey], typeof(DialogActivationBehavior));
            }
            finally
            {
                ServiceLocator.SetLocatorProvider(() => null);
            }
        }
Exemple #19
0
        public void ShouldAddViewsToRegions()
        {
            var mainRegion    = new MockRegion();
            var menuRegion    = new MockRegion();
            var regionManager = new MockRegionManager();
            var container     = new MockUnityResolver();
            var windowManager = new MockWindowManager();

            container.Bag.Add(typeof(IProjectViewPresenter), new MockProjectViewPresenter());
            container.Bag.Add(typeof(IMenuButtonViewModel), new MockProjectMenuButtonViewModel());

            regionManager.Regions.Add("MainRegion", mainRegion);
            regionManager.Regions.Add("MenuRegion", menuRegion);

            var module = new ProjectsModule(container, regionManager, windowManager);

            Assert.AreEqual(0, mainRegion.AddedViews.Count);
            Assert.AreEqual(0, menuRegion.AddedViews.Count);

            module.Initialize();

            Assert.AreEqual(1, mainRegion.AddedViews.Count);
            Assert.AreEqual(1, menuRegion.AddedViews.Count);
            Assert.IsInstanceOfType(mainRegion.AddedViews[0], typeof(IProjectView));
            Assert.IsInstanceOfType(menuRegion.AddedViews[0], typeof(IMenuButtonView));
        }
Exemple #20
0
        public void ShouldAddEncoderSettingsViewToMainRegion()
        {
            var regionManager = new MockRegionManager();
            var container     = new MockUnityResolver();

            container.Bag.Add(typeof(IEncoderSettingsPresentationModel), new MockEncoderSettingsPresentationModel());
            MockRegion mainRegion = new MockRegion {
                Name = "MainRegion"
            };
            MockRegion menuRegion = new MockRegion {
                Name = "MenuRegion"
            };

            regionManager.Regions.Add(mainRegion);
            regionManager.Regions.Add(menuRegion);

            MockOutputMenuButtonViewModel outputMenuButtonViewModel = new MockOutputMenuButtonViewModel();

            container.Bag[typeof(IMenuButtonViewModel)] = outputMenuButtonViewModel;

            var module = new EncoderOutputModule(container, regionManager, new MockWindowManager());

            Assert.AreEqual(0, mainRegion.AddedViews.Count);

            module.Initialize();

            Assert.AreEqual(1, mainRegion.AddedViews.Count);
            Assert.IsInstanceOfType(mainRegion.AddedViews[0], typeof(IEncoderSettingsView));
        }
        public void ControllerAddsViewWhenShowDetailsIfNotPresent()
        {
            container.RegisterType <IEmployeesDetailsPresenter, MockEmployeesDetailsPresenter>();
            container.RegisterType <IProjectsListPresenter, MockProjectsListPresenter>();

            var regionManager = new MockRegionManager();
            var detailsRegion = new MockRegion();

            regionManager.Regions.Add(RegionNames.DetailsRegion, detailsRegion);
            var scopedRegionManager = new MockRegionManager();

            scopedRegionManager.Regions.Add(RegionNames.TabRegion, new MockRegion());
            detailsRegion.AddReturnValue = scopedRegionManager;

            BusinessEntities.Employee employee1 = new BusinessEntities.Employee(10)
            {
                LastName = "Mock1", FirstName = "Employee1"
            };
            BusinessEntities.Employee employee2 = new BusinessEntities.Employee(11)
            {
                LastName = "Mock2", FirstName = "Employee2"
            };

            EmployeesController controller = new EmployeesController(container, regionManager);

            Assert.AreEqual <int>(0, detailsRegion.ViewsCount);

            controller.OnEmployeeSelected(employee1);
            controller.OnEmployeeSelected(employee2);

            Assert.AreEqual <int>(2, detailsRegion.ViewsCount);
        }
Exemple #22
0
        public void BehaviorDoesNotPreventRegionManagerFromBeingGarbageCollected()
        {
            var control       = new MockFrameworkElement();
            var regionManager = new MockRegionManager();
            var regionManagerWeakReference = new WeakReference(regionManager);

            var accessor = new MockRegionManagerAccessor
            {
                GetRegionName    = d => "myRegionName",
                GetRegionManager = d => regionManager
            };

            var behavior = new RegionManagerRegistrationBehavior()
            {
                RegionManagerAccessor = accessor,
                Region      = new MockPresentationRegion(),
                HostControl = control
            };

            behavior.Attach();

            Assert.IsTrue(regionManagerWeakReference.IsAlive);
            GC.KeepAlive(regionManager);

            regionManager = null;

            GC.Collect();

            Assert.IsFalse(regionManagerWeakReference.IsAlive);
        }
Exemple #23
0
        public void CanAttachBeforeSettingName()
        {
            var control       = new ItemsControl();
            var regionManager = new MockRegionManager();
            var accessor      = new MockRegionManagerAccessor
            {
                GetRegionManager = d => regionManager
            };
            var region = new MockPresentationRegion()
            {
                Name = null
            };
            var behavior = new RegionManagerRegistrationBehavior()
            {
                RegionManagerAccessor = accessor,
                Region      = region,
                HostControl = control
            };

            behavior.Attach();
            Assert.IsFalse(regionManager.MockRegionCollection.AddCalled);

            region.Name = "myRegionName";

            Assert.IsTrue(regionManager.MockRegionCollection.AddCalled);
            Assert.AreSame(region, regionManager.MockRegionCollection.AddArgument);
        }
Exemple #24
0
        public void ShouldAddPlayerViewToPlayerRegion()
        {
            var regionManager  = new MockRegionManager();
            var container      = new MockUnityResolver();
            var menuButtonView = new MockMenuButtonView();

            container.Bag.Add(typeof(IPlayerViewPresenter), new MockPlayerViewPresenter());

            MockSequencePreviewMenuButtonViewModel menuViewModel = new MockSequencePreviewMenuButtonViewModel();

            menuViewModel.View = menuButtonView;

            container.Bag[typeof(IMenuButtonViewModel)] = menuViewModel;

            MockRegion mainRegion = new MockRegion {
                Name = "MainRegion"
            };
            MockRegion menuRegion = new MockRegion {
                Name = "MenuRegion"
            };

            regionManager.Regions.Add(mainRegion);
            regionManager.Regions.Add(menuRegion);

            var module = new PlayerModule(container, regionManager, new MockWindowManager());

            Assert.AreEqual(0, mainRegion.AddedViews.Count);

            module.Initialize();

            Assert.AreEqual(1, mainRegion.AddedViews.Count);
            Assert.IsInstanceOfType(mainRegion.AddedViews[0], typeof(IPlayerView));
        }
Exemple #25
0
        public void ShouldCreateRegion()
        {
            try
            {
                var regionManager = new MockRegionManager();
                ServiceLocator.SetLocatorProvider(() => new MockServiceLocator(() => regionManager));

                FrameworkElement hostControl = new MockFrameworkElement();
                RegionPopupBehaviors.RegisterNewPopupRegion(hostControl, "MyPopupRegion");

                Assert.IsTrue(regionManager.MockRegions.Regions.ContainsKey("MyPopupRegion"));
                Assert.IsNotNull(regionManager.MockRegions.Regions["MyPopupRegion"]);
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"], typeof(SingleActiveRegion));
                Assert.IsTrue(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors.ContainsKey(DialogActivationBehavior.BehaviorKey));
#if SILVERLIGHT
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors[DialogActivationBehavior.BehaviorKey], typeof(PopupDialogActivationBehavior));
#else
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors[DialogActivationBehavior.BehaviorKey], typeof(WindowDialogActivationBehavior));
#endif
            }
            finally
            {
                ServiceLocator.SetLocatorProvider(() => null);
            }
        }
Exemple #26
0
        public void WhenClearChildViewsPropertyIsTrue_ThenChildViewsRegionManagerIsCleared()
        {
            var regionManager = new MockRegionManager();

            var region = new Region();

            region.RegionManager = regionManager;

            var behavior = new ClearChildViewsRegionBehavior();

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

            var childView = new MockFrameworkElement();

            region.Add(childView);

            ClearChildViewsRegionBehavior.SetClearChildViews(childView, true);

            Assert.Equal(regionManager, childView.GetValue(RegionManager.RegionManagerProperty));

            region.RegionManager = null;

            Assert.Null(childView.GetValue(RegionManager.RegionManagerProperty));
        }
        public void ShouldCreateRegion()
        {
            try
            {
                var regionManager = new MockRegionManager();
                ServiceLocator.SetLocatorProvider(() => new MockServiceLocator(() => regionManager));

                FrameworkElement hostControl = new MockFrameworkElement();
                RegionPopupBehaviors.RegisterNewPopupRegion(hostControl, "MyPopupRegion");

                Assert.IsTrue(regionManager.MockRegions.Regions.ContainsKey("MyPopupRegion"));
                Assert.IsNotNull(regionManager.MockRegions.Regions["MyPopupRegion"]);
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"], typeof(SingleActiveRegion));
                Assert.IsTrue(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors.ContainsKey(DialogActivationBehavior.BehaviorKey));
#if SILVERLIGHT
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors[DialogActivationBehavior.BehaviorKey], typeof(PopupDialogActivationBehavior));
#else
                Assert.IsInstanceOfType(regionManager.MockRegions.Regions["MyPopupRegion"].Behaviors[DialogActivationBehavior.BehaviorKey], typeof(WindowDialogActivationBehavior));
#endif
            }
            finally
            {
                ServiceLocator.SetLocatorProvider(() => null);
            }
        }
        public void StartOrderHooksInstanceCommandsToGlobalSaveAndCancelCommands()
        {
            var container               = new MockUnityResolver();
            var regionManager           = new MockRegionManager();
            var orderCompositePresenter = new MockOrderCompositePresentationModel();

            container.Bag.Add(typeof(IOrdersPresentationModel), new MockOrdersPresentationModel());
            container.Bag.Add(typeof(IOrderCompositePresentationModel), orderCompositePresenter);

            var ordersRegion = new MockRegion();

            regionManager.Regions.Add("OrdersRegion", ordersRegion);
            regionManager.Regions.Add("MainRegion", new MockRegion());
            var commandProxy = new MockStockTraderRICommandProxy();

            var controller = new TestableOrdersController(regionManager, container, commandProxy, null);

            controller.InvokeStartOrder(TransactionType.Buy, "STOCK01");

            Assert.IsFalse(orderCompositePresenter.MockSubmitCommand.ExecuteCalled);
            commandProxy.SubmitOrderCommand.Execute(null);
            Assert.IsTrue(orderCompositePresenter.MockSubmitCommand.ExecuteCalled);

            Assert.IsFalse(orderCompositePresenter.MockCancelCommand.ExecuteCalled);
            commandProxy.CancelOrderCommand.Execute(null);
            Assert.IsTrue(orderCompositePresenter.MockCancelCommand.ExecuteCalled);
        }
Exemple #29
0
        public void AddViewRaisesCollectionViewEvent()
        {
            bool viewAddedCalled = false;

            var     regionManager = new MockRegionManager();
            var     control       = new MockControl();
            IRegion region        = new RegionBase(control);

            region.RegionManager = regionManager;
            IView myView = new MockView();

            region.Views.CollectionChanged += (sender, e) =>
            {
                if (e.Action == NotifyCollectionChangedAction.Add)
                {
                    viewAddedCalled = true;
                }
            };

            object model = new object();

            Assert.IsFalse(viewAddedCalled);
            region.Add(myView);

            Assert.IsTrue(viewAddedCalled);
        }
        public void SubmitAllInstanceCommandHookedToGlobalSubmitAllCommands()
        {
            var container               = new MockUnityResolver();
            var regionManager           = new MockRegionManager();
            var orderCompositePresenter = new MockOrderCompositePresentationModel();

            container.Bag.Add(typeof(IOrdersPresentationModel), new MockOrdersPresentationModel());
            container.Bag.Add(typeof(IOrderCompositePresentationModel), orderCompositePresenter);

            var ordersRegion = new MockRegion();

            regionManager.Regions.Add("OrdersRegion", ordersRegion);
            regionManager.Regions.Add("MainRegion", new MockRegion());
            var commandProxy = new MockStockTraderRICommandProxy();

            var accountPositionService = new MockAccountPositionService();

            accountPositionService.AddPosition("STOCK01", 10.0M, 100);

            var controller = new TestableOrdersController(regionManager, container, commandProxy, accountPositionService);

            controller.InvokeStartOrder(TransactionType.Buy, "STOCK01");

            Assert.IsFalse(controller.SubmitAllCommandCalled);
            commandProxy.SubmitAllOrdersCommand.CanExecute(null);
            Assert.IsTrue(controller.SubmitAllCommandCalled);
        }
Exemple #31
0
        public void ViewRemovedEventPassesTheViewRemovedInTheEventArgs()
        {
            object removedView = null;

            var     regionManager = new MockRegionManager();
            var     control       = new MockControl();
            IRegion region        = new RegionBase(control);

            region.RegionManager = regionManager;
            IView myView = new MockView();

            region.Views.CollectionChanged += (sender, e) =>
            {
                if (e.Action == NotifyCollectionChangedAction.Remove)
                {
                    removedView = e.OldItems[0];
                }
            };
            region.Add(myView);
            Assert.IsNull(removedView);

            region.Remove(myView);

            Assert.AreSame(myView, removedView);
        }
        public void CannotSellMoreSharesThatAreNOTOwned()
        {
            var container     = new MockUnityResolver();
            var regionManager = new MockRegionManager();

            container.Bag.Add(typeof(IOrdersPresentationModel), new MockOrdersPresentationModel());

            var ordersRegion = new MockRegion();

            regionManager.Regions.Add("OrdersRegion", ordersRegion);
            regionManager.Regions.Add("MainRegion", new MockRegion());

            var controller = new TestableOrdersController(regionManager, container, new MockStockTraderRICommandProxy(), new MockAccountPositionService());

            var sellOrder = new MockOrderCompositePresentationModel()
            {
                Shares = 1
            };

            container.Bag.Add(typeof(IOrderCompositePresentationModel), sellOrder);

            controller.InvokeStartOrder(TransactionType.Sell, "NOTOWNED");

            Assert.IsFalse(controller.SubmitAllVoteOnlyCommand.CanExecute(null));
        }
Exemple #33
0
        public void AddingSameViewTwiceThrows()
        {
            var     regionManager = new MockRegionManager();
            var     control       = new MockControl();
            IRegion region        = new RegionBase(control);

            region.RegionManager = regionManager;
            IView myView = new MockView();

            region.Add(myView);

            try
            {
                region.Add(myView);
                Assert.Fail();
            }
            catch (InvalidOperationException ex)
            {
                Assert.AreEqual("View already exists in region.", ex.Message);
            }
            catch
            {
                Assert.Fail();
            }
        }
Exemple #34
0
        public void CanRegisterViewType()
        {
            try
            {
                var mockRegionContentRegistry = new MockRegionContentRegistry();

                string regionName = null;
                Type   viewType   = null;

                mockRegionContentRegistry.RegisterContentWithViewType = (name, type) =>
                {
                    regionName = name;
                    viewType   = type;
                    return(null);
                };
                ServiceLocator.SetLocatorProvider(
                    () => new MockServiceLocator(
                        () => mockRegionContentRegistry));

                var regionManager = new MockRegionManager();

                regionManager.RegisterViewWithRegion("Region1", typeof(object));

                Assert.AreEqual(regionName, "Region1");
                Assert.AreEqual(viewType, typeof(object));
            }
            finally
            {
                ServiceLocator.SetLocatorProvider(null);
            }
        }
        public void CanAddRegionToRegionManager()
        {
            var regionManager = new MockRegionManager();
            var region = new MockRegion();

            regionManager.Regions.Add("region", region);

            Assert.AreEqual(1, regionManager.MockRegionCollection.Count);
            Assert.AreEqual("region", region.Name);
        }
        public void CanAddViewToRegion()
        {
            var regionManager = new MockRegionManager();
            var view1 = new object();
            var view2 = new object();

            IRegion region = new MockRegion();
            region.Name = "RegionName";
            regionManager.Regions.Add(region);

            regionManager.AddToRegion("RegionName", view1);
            regionManager.AddToRegion("RegionName", view2);

            Assert.IsTrue(regionManager.Regions["RegionName"].Views.Contains(view1));
            Assert.IsTrue(regionManager.Regions["RegionName"].Views.Contains(view2));
        }
        public void WhenClearChildViewsPropertyIsNotSet_ThenChildViewsRegionManagerIsNotCleared()
        {
            var regionManager = new MockRegionManager();

            var region = new Region();
            region.RegionManager = regionManager;

            var behavior = new ClearChildViewsRegionBehavior();
            behavior.Region = region;
            behavior.Attach();

            var childView = new MockFrameworkElement();
            region.Add(childView);

            Assert.AreEqual(regionManager, childView.GetValue(RegionManager.RegionManagerProperty));

            region.RegionManager = null;

            Assert.AreEqual(regionManager, childView.GetValue(RegionManager.RegionManagerProperty));
        }
        public async Task WhenClearChildViewsPropertyIsNotSet_ThenChildViewsRegionManagerIsNotCleared()
        {
            await ExecuteOnUIThread(() =>
                {
                    var regionManager = new MockRegionManager();

                    var region = new Region() { RegionManager = regionManager };

                    var behavior = new ClearChildViewsRegionBehavior() { Region = region };
                    behavior.Attach();

                    var childView = new MockFrameworkElement();
                    region.Add(childView);

                    Assert.AreEqual(regionManager, childView.GetValue(RegionManager.RegionManagerProperty));

                    region.RegionManager = null;

                    Assert.AreEqual(regionManager, childView.GetValue(RegionManager.RegionManagerProperty));
                });
        }
        public void ShouldThrowIfRegionNameArgumentIsDifferentToRegionNameProperty()
        {
            var regionManager = new MockRegionManager();
            var region = new MockRegion();

            region.Name = "region";

            Assert.ThrowsException<ArgumentException>(() => regionManager.Regions.Add("another region", region));
        }
        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 ShouldThrowIfRegionNameArgumentIsDifferentToRegionNameProperty()
        {
            var regionManager = new MockRegionManager();
            var region = new MockRegion();

            region.Name = "region";

            regionManager.Regions.Add("another region", region);
        }
        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 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 MockDependencyObject();

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

            Assert.AreNotSame(regionManager, myView.GetValue(RegionManager.RegionManagerProperty));
        }