public void WillNotAddTypesWithDuplicateKeys() { RegionBehaviorFactory factory = new RegionBehaviorFactory(null); factory.AddIfMissing("key1", typeof(MockRegionBehavior)); factory.AddIfMissing("key1", typeof(MockRegionBehavior)); Assert.AreEqual(1, factory.Count()); }
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")); }
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")); }
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); }
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)); }
protected override void AttachDefaultBehaviors(IRegion region, ContentControl regionTarget) { base.AttachDefaultBehaviors(region, regionTarget); RegionBehaviorFactory.AddIfMissing("DefaultBehavior", typeof(AutoPopulateRegionBehavior)); }