public void WillNotAddTypesWithDuplicateKeys()
        {
            RegionBehaviorFactory factory = new RegionBehaviorFactory(null);

            factory.AddIfMissing("key1", typeof(MockRegionBehavior));
            factory.AddIfMissing("key1", typeof(MockRegionBehavior));

            Assert.AreEqual(1, factory.Count());
        }
Example #2
0
        public void WillNotAddTypesWithDuplicateKeys()
        {
            var factory = new RegionBehaviorFactory(null);

            factory.AddIfMissing <MockRegionBehavior>("key1");
            factory.AddIfMissing <MockRegionBehavior>("key1");

            Assert.Single(factory);
        }
        public void CanRegisterType()
        {
            RegionBehaviorFactory factory = new RegionBehaviorFactory(null);

            factory.AddIfMissing("key1", typeof(MockRegionBehavior));
            factory.AddIfMissing("key2", typeof(MockRegionBehavior));

            Assert.AreEqual(2, factory.Count());
            Assert.IsTrue(factory.ContainsKey("key1"));
        }
Example #4
0
        public void CanRegisterType()
        {
            var factory = new RegionBehaviorFactory(null);

            factory.AddIfMissing <MockRegionBehavior>("key1");
            factory.AddIfMissing <MockRegionBehavior>("key2");

            Assert.Equal(2, factory.Count());
            Assert.True(factory.ContainsKey("key1"));
        }
Example #5
0
        public void AddTypeThatDoesNotInheritFromIRegionBehaviorThrows()
        {
            var ex = Assert.Throws <ArgumentException>(() =>
            {
                RegionBehaviorFactory factory = new RegionBehaviorFactory(null);

                factory.AddIfMissing("key1", typeof(object));
            });
        }
        private MockServiceLocator GetServiceLocator(string[] defaultRegions)
        {
            MockServiceLocator locator = new MockServiceLocator();
            var regionViewRegistry     = new RegionViewRegistry(locator);
            var behavior = new AutoPopulateRegionBehavior(regionViewRegistry);
            var regionBehaviorFactory = new RegionBehaviorFactory(locator);

            regionBehaviorFactory.AddIfMissing(AutoPopulateRegionBehavior.BehaviorKey, typeof(AutoPopulateRegionBehavior));
            var regionManager = new RegionManager(regionBehaviorFactory);

            locator.GetInstance = (type) =>
            {
                if (type == typeof(IRegionManager))
                {
                    return(regionManager);
                }
                if (type == typeof(IRegionViewRegistry))
                {
                    return(regionViewRegistry);
                }
                if (type == typeof(AutoPopulateRegionBehavior))
                {
                    return(behavior);
                }
                if (type == typeof(IRegionBehaviorFactory))
                {
                    return(regionBehaviorFactory);
                }
                if (type == typeof(IServiceLocator))
                {
                    return(locator);
                }
                if (type == typeof(MockView))
                {
                    return(new MockView());
                }
                if (type == typeof(object))
                {
                    return(new object());
                }
                return(null);
            };

            foreach (var region in defaultRegions)
            {
                regionManager.Regions.Add(new MockRegion {
                    Name = region
                });
            }

            return(locator);
        }
Example #7
0
        public void CanCreateRegisteredType()
        {
            var expectedBehavior = new MockRegionBehavior();
            var containerMock    = new Mock <IContainerExtension>();

            containerMock.Setup(c => c.Resolve(typeof(MockRegionBehavior))).Returns(expectedBehavior);
            RegionBehaviorFactory factory = new RegionBehaviorFactory(containerMock.Object);

            factory.AddIfMissing("key1", typeof(MockRegionBehavior));
            var behavior = factory.CreateFromKey("key1");

            Assert.Same(expectedBehavior, behavior);
        }
        public void CanCreateRegisteredType()
        {
            var expectedBehavior = new MockRegionBehavior();

            RegionBehaviorFactory factory = new RegionBehaviorFactory(new MockServiceLocator()
            {
                GetInstance = (t) => expectedBehavior
            });

            factory.AddIfMissing("key1", typeof(MockRegionBehavior));
            var behavior = factory.CreateFromKey("key1");

            Assert.AreSame(expectedBehavior, behavior);
        }
        public void AddTypeThatDoesNotInheritFromIRegionBehaviorThrows()
        {
            RegionBehaviorFactory factory = new RegionBehaviorFactory(null);

            factory.AddIfMissing("key1", typeof(object));
        }
Example #10
0
 protected override void AttachDefaultBehaviors(IRegion region, ContentControl regionTarget)
 {
     base.AttachDefaultBehaviors(region, regionTarget);
     RegionBehaviorFactory.AddIfMissing("DefaultBehavior", typeof(AutoPopulateRegionBehavior));
 }