public void CanRegisterContentAndRetrieveIt() { MockServiceLocator locator = GetServiceLocator(new[] { "MyRegion" }); var registry = (IRegionViewRegistry)locator.GetInstance(typeof(IRegionViewRegistry)); registry.RegisterViewWithRegion("MyRegion", typeof(MockView)); var result = registry.GetContents("MyRegion"); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count()); Assert.IsInstanceOfType(result.ElementAt(0), typeof(MockView)); }
public void CanRegisterContentAsDelegateAndRetrieveIt() { MockServiceLocator locator = GetServiceLocator(new[] { "MyRegion" }); var registry = (IRegionViewRegistry)locator.GetInstance(typeof(IRegionViewRegistry)); var content = new MockView(); registry.RegisterViewWithRegion("MyRegion", () => content); var result = registry.GetContents("MyRegion"); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count()); Assert.AreSame(content, result.ElementAt(0)); }
public void ShouldRaiseEventWhenAddingContent() { MockServiceLocator locator = GetServiceLocator(new[] { "MyRegion" }); var listener = new MySubscriberClass(); var registry = (IRegionViewRegistry)locator.GetInstance(typeof(IRegionViewRegistry)); registry.ViewRegistered += listener.OnViewRegistered; registry.RegisterViewWithRegion("MyRegion", typeof(MockView)); Assert.IsNotNull(listener.onViewRegisteredArguments); Assert.IsNotNull(listener.onViewRegisteredArguments.RegisteredView); var result = listener.onViewRegisteredArguments.Region; Assert.IsNotNull(result); }
public void OnRegisterErrorShouldGiveClearException() { MockServiceLocator locator = GetServiceLocator(new[] { "R1" }); var registry = (IRegionViewRegistry)locator.GetInstance(typeof(IRegionViewRegistry)); registry.ViewRegistered += new EventHandler <ViewRegisteredEventArgs>(FailWithInvalidOperationException); try { registry.RegisterViewWithRegion("R1", typeof(object)); Assert.Fail(); } catch (ViewRegistrationException ex) { Assert.IsTrue(ex.Message.Contains("Dont do this")); Assert.IsTrue(ex.Message.Contains("R1")); Assert.AreEqual(ex.InnerException.Message, "Dont do this"); } catch (Exception) { Assert.Fail("Wrong exception type"); } }
public void OnRegisterErrorShouldSkipFrameworkExceptions() { ExceptionExtensions.RegisterFrameworkExceptionType(typeof(FrameworkException)); MockServiceLocator locator = GetServiceLocator(new[] { "R1" }); var registry = (IRegionViewRegistry)locator.GetInstance(typeof(IRegionViewRegistry)); registry.ViewRegistered += new EventHandler <ViewRegisteredEventArgs>(FailWithFrameworkException); try { registry.RegisterViewWithRegion("R1", typeof(object)); Assert.Fail(); } catch (ViewRegistrationException ex) { Assert.IsTrue(ex.Message.Contains("Dont do this")); Assert.IsTrue(ex.Message.Contains("R1")); } catch (Exception) { Assert.Fail("Wrong exception type"); } }