public void RegisterAMappingThatAlreadyExistsThrows()
        {
            var regionAdapterMappings = new RegionAdapterMappings();
            var regionAdapter = new MockRegionAdapter();

            regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter);
            regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter);
        }
        public void ShouldGetMappingForDerivedTypesThanTheRegisteredOnes()
        {
            var regionAdapterMappings = new RegionAdapterMappings();
            var regionAdapter         = new MockRegionAdapter();

            regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter);
            var returnedAdapter = regionAdapterMappings.GetMapping(typeof(ItemsControlDescendant));

            Assert.IsNotNull(returnedAdapter);
            Assert.AreSame(regionAdapter, returnedAdapter);
        }
Beispiel #3
0
        public void RegisterAMappingThatAlreadyExistsThrows()
        {
            var ex = Assert.Throws<InvalidOperationException>(() =>
            {
                var regionAdapterMappings = new RegionAdapterMappings();
                var regionAdapter = new MockRegionAdapter();

                regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter);
                regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter);
            });
        }
        public void ShouldGetMappingForDerivedTypesThanTheRegisteredOnes()
        {
            var regionAdapterMappings = new RegionAdapterMappings();
            var regionAdapter = new MockRegionAdapter();

            regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter);
            var returnedAdapter = regionAdapterMappings.GetMapping(typeof(ItemsControlDescendant));

            Assert.IsNotNull(returnedAdapter);
            Assert.AreSame(regionAdapter, returnedAdapter);
        }
        public void ShouldGetRegisteredMapping()
        {
            var  regionAdapterMappings = new RegionAdapterMappings();
            Type registeredType        = typeof(ItemsControl);
            var  regionAdapter         = new MockRegionAdapter();

            regionAdapterMappings.RegisterMapping(registeredType, regionAdapter);
            var returnedAdapter = regionAdapterMappings.GetMapping(registeredType);

            Assert.IsNotNull(returnedAdapter);
            Assert.AreSame(regionAdapter, returnedAdapter);
        }
Beispiel #6
0
        public void ShouldGetRegisteredMapping_UsingGenericControl()
        {
            var regionAdapterMappings = new RegionAdapterMappings();
            var regionAdapter = new MockRegionAdapter();

            regionAdapterMappings.RegisterMapping<ItemsControl>(regionAdapter);

            var returnedAdapter = regionAdapterMappings.GetMapping<ItemsControl>();

            Assert.NotNull(returnedAdapter);
            Assert.Same(regionAdapter, returnedAdapter);
        }
        public void ShouldGetRegisteredMapping()
        {
            var regionAdapterMappings = new RegionAdapterMappings();
            Type registeredType = typeof(ItemsControl);
            var regionAdapter = new MockRegionAdapter();

            regionAdapterMappings.RegisterMapping(registeredType, regionAdapter);
            var returnedAdapter = regionAdapterMappings.GetMapping(registeredType);

            Assert.IsNotNull(returnedAdapter);
            Assert.AreSame(regionAdapter, returnedAdapter);
        }
        public void ShouldGetTheMostSpecializedMapping()
        {
            var regionAdapterMappings = new RegionAdapterMappings();
            var genericAdapter        = new MockRegionAdapter();
            var specializedAdapter    = new MockRegionAdapter();

            regionAdapterMappings.RegisterMapping(typeof(ItemsControl), genericAdapter);
            regionAdapterMappings.RegisterMapping(typeof(ItemsControlDescendant), specializedAdapter);
            var returnedAdapter = regionAdapterMappings.GetMapping(typeof(ItemsControlDescendant));

            Assert.IsNotNull(returnedAdapter);
            Assert.AreSame(specializedAdapter, returnedAdapter);
        }
        public void ShouldGetTheMostSpecializedMapping()
        {
            var regionAdapterMappings = new RegionAdapterMappings();
            var genericAdapter = new MockRegionAdapter();
            var specializedAdapter = new MockRegionAdapter();

            regionAdapterMappings.RegisterMapping(typeof(ItemsControl), genericAdapter);
            regionAdapterMappings.RegisterMapping(typeof(ItemsControlDescendant), specializedAdapter);
            var returnedAdapter = regionAdapterMappings.GetMapping(typeof(ItemsControlDescendant));

            Assert.IsNotNull(returnedAdapter);
            Assert.AreSame(specializedAdapter, returnedAdapter);
        }
Beispiel #10
0
        public void ShouldAttachNewRegionByUsingRegisteredRegionAdapterMappings()
        {
            var mappings          = new RegionAdapterMappings();
            var mockRegionAdapter = new MockRegionAdapter();

            mappings.RegisterMapping(typeof(DependencyObject), mockRegionAdapter);
            var regionManager = new RegionManager(mappings);
            var control       = new ContentControl();

            regionManager.AttachNewRegion(control, "TestRegionName");

            Assert.IsTrue(mockRegionAdapter.InitializeCalled);
            Assert.AreEqual(control, mockRegionAdapter.InitializeArgument);
        }
Beispiel #11
0
        public void ShouldGetRegisteredMapping_UsingGenericControlAndAdapter()
        {
            try
            {
                var regionAdapterMappings = new RegionAdapterMappings();
                var regionAdapter = new MockRegionAdapter();

                ServiceLocator.SetLocatorProvider(() => new MockServiceLocator
                    {
                        GetInstance = t => regionAdapter
                    });

                regionAdapterMappings.RegisterMapping<ItemsControl, MockRegionAdapter>();

                var returnedAdapter = regionAdapterMappings.GetMapping<ItemsControl>();

                Assert.NotNull(returnedAdapter);
                Assert.Same(regionAdapter, returnedAdapter);
            }
            finally
            {
                ServiceLocator.SetLocatorProvider(null);
            }
        }
Beispiel #12
0
        private DelayedRegionCreationBehavior GetBehavior(DependencyObject control, MockRegionManagerAccessor accessor, MockRegionAdapter adapter)
        {
            var mappings = new RegionAdapterMappings();

            mappings.RegisterMapping(control.GetType(), adapter);
            var behavior = new DelayedRegionCreationBehavior(mappings);

            behavior.RegionManagerAccessor = accessor;
            behavior.TargetElement         = control;
            return(behavior);
        }
        public void NullControlThrows()
        {
            var regionAdapterMappings = new RegionAdapterMappings();
            var regionAdapter = new MockRegionAdapter();

            regionAdapterMappings.RegisterMapping(null, regionAdapter);
        }