public void Test_Set_Registry()
        {
            ContainerRegistry cr = new ContainerRegistry();

            ViewNotifier.SetRegistry(cr);
            Assert.That(ViewNotifier.Registry, Is.EqualTo(cr));
        }
Example #2
0
 public void before()
 {
     container = new SupportContainer();
     registry  = new ContainerRegistry();
     registry.SetParentFinder(new SupportParentFinder());
     viewManager = new ViewManager(registry);
     ViewNotifier.SetRegistry(registry);
 }
        public void Register()
        {
            if (registered)
            {
                return;
            }

            registered = true;
            ViewNotifier.RegisterView(this);
        }
        /*============================================================================*/
        /* Public Functions                                                           */
        /*============================================================================*/

        public void Extend(IContext context)
        {
            context.WhenInitializing(WhenInitializing);
            context.WhenDestroying(WhenDestroying);

            _injector = context.injector;

            // Just one Container Registry
            if (_containerRegistry == null)
            {
                _containerRegistry = new ContainerRegistry();
                ViewNotifier.SetRegistry(_containerRegistry);
            }
            _injector.Map(typeof(ContainerRegistry)).ToValue(_containerRegistry);
            if (_injector.HasDirectMapping(typeof(IParentFinder)))
            {
                _injector.Unmap(typeof(IParentFinder));
            }
            _injector.Map(typeof(IParentFinder)).ToValue(_containerRegistry);

            // But you get your own View Manager
            _injector.Map(typeof(IViewManager)).ToSingleton(typeof(Impl.ViewManager));
        }
        public void Test_Register_View_Calls_View_Handler()
        {
            object expectedView = null;
            Type   expectedType = null;
            object actualView   = new object();
            Type   actualType   = actualView.GetType();

            ContainerRegistry cr = new ContainerRegistry();

            ViewNotifier.SetRegistry(cr);
            object container = new object();

            cr.SetFallbackContainer(container);
            cr.GetBinding(container).AddHandler(new CallbackViewHandler(delegate(object view, Type type)
            {
                expectedType = type;
                expectedView = view;
            }));
            ViewNotifier.RegisterView(actualView);

            Assert.That(actualView, Is.EqualTo(expectedView));
            Assert.That(actualType, Is.EqualTo(expectedType));
        }
Example #6
0
 public void after()
 {
     ViewNotifier.SetRegistry(null);
 }
 public void after()
 {
     registry.SetParentFinder(null);
     ViewNotifier.SetRegistry(null);
 }
 public void Test_Register_When_Null_No_Exception()
 {
     ViewNotifier.SetRegistry(null);
     ViewNotifier.RegisterView(new object());
 }
 public void Test_Nullable_Registry()
 {
     ViewNotifier.SetRegistry(null);
     Assert.That(ViewNotifier.Registry, Is.Null);
 }
Example #10
0
 protected virtual void Start()
 {
     ViewNotifier.RegisterView(this);
 }