public void SettingActiveWillAddViewsToRegion()
        {
            var regionManager = new RegionManager();

            var region = new Region()
                             {
                                 Name = "Region"
                             };
            regionManager.Regions.Add(region);

            var target = new ViewToRegionBinder(regionManager);
            target.ObjectToMonitor  = new MockActiveAware();

            var view = new DependencyObject();
            target.Add("Region", view);

            Assert.AreEqual(0, region.Views.Count());

            target.ObjectToMonitor.IsActive = true;

            Assert.AreEqual(1, region.Views.Count());
            Assert.AreEqual(view, region.Views.FirstOrDefault());

            target.ObjectToMonitor.IsActive = false;
            Assert.AreEqual(0, region.Views.Count());
            
        }
Example #2
0
        public PartPresenter(PartPresenterView view, IUnityContainer container)
        {
            _container = container;
            View = view;
            View.DataContext = this;
            _regionManager = new RegionManager();
            RegionManager.SetRegionManager(View, _regionManager);

            _addPartCommand = new Lazy<DelegateCommand<object>>(() => new DelegateCommand<object>(AddPartExecuted));
            Action<int> add = (i) =>
            {
                var region = _regionManager.Regions["Page1Content" + i];
                if (region.Views.Count() == 0)
                {
                    var partView = _container.Resolve<PartView>();

                    region.Add(partView);
                    region.Activate(partView);

                }
            };

            add(1);
            add(2);
            add(3);
        }
        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 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 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 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 CreateRegionManagerCreatesANewInstance()
 {
     var regionManager = new RegionManager();
     var createdRegionManager = regionManager.CreateRegionManager();
     Assert.IsNotNull(createdRegionManager);
     Assert.IsInstanceOfType(createdRegionManager, typeof(RegionManager));
     Assert.AreNotSame(regionManager, createdRegionManager);
 }
 public void AddingMultipleRegionsWithSameNameThrowsArgumentException()
 {
     var regionManager = new RegionManager();
     regionManager.Regions.Add(new MockRegion { Name = "region name" });
     regionManager.Regions.Add(new MockRegion { Name = "region name" });
 }
 public void ShouldFailIfRegionDoesntExists()
 {
     RegionManager regionManager = new RegionManager();
     IRegion region = regionManager.Regions["nonExistentRegion"];
 }
        public void UpdatingRegionsGetsCalledWhenAccessingRegionMembers()
        {
            var listener = new MySubscriberClass();

            try
            {
                RegionManager.UpdatingRegions += listener.OnUpdatingRegions;
                RegionManager regionManager = new RegionManager();
                regionManager.Regions.ContainsRegionWithName("TestRegion");
                Assert.IsTrue(listener.OnUpdatingRegionsCalled);

                listener.OnUpdatingRegionsCalled = false;
                regionManager.Regions.Add(new MockRegion() { Name = "TestRegion" });
                Assert.IsTrue(listener.OnUpdatingRegionsCalled);

                listener.OnUpdatingRegionsCalled = false;
                var region = regionManager.Regions["TestRegion"];
                Assert.IsTrue(listener.OnUpdatingRegionsCalled);

                listener.OnUpdatingRegionsCalled = false;
                regionManager.Regions.Remove("TestRegion");
                Assert.IsTrue(listener.OnUpdatingRegionsCalled);

                listener.OnUpdatingRegionsCalled = false;
                regionManager.Regions.GetEnumerator();
                Assert.IsTrue(listener.OnUpdatingRegionsCalled);
            }
            finally
            {
                RegionManager.UpdatingRegions -= listener.OnUpdatingRegions;
            }
        }
        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);
        }