Ejemplo n.º 1
0
        public void CanUnregisterPropertyRoute()
        {
            Package               pkg          = new Package();
            OutComponent          outComponent = new OutComponent();
            InComponent           inComponent  = new InComponent();
            PropertyToMethodRoute route        = PropertyToMethodRoute.Create <string>(outComponent, x => outComponent.StringOutProperty, inComponent, (x) => inComponent.StringActionIn(x));

            pkg.RegisterPropertyRoute(route);
            pkg.UnregisterPropertyRoute(route);

            Assert.IsTrue(!pkg.RegisteredPropertyRoutes.Any());
        }
Ejemplo n.º 2
0
        public void DuplicatePropertyRoutesDisalllowed()
        {
            Package               pkg          = new Package();
            OutComponent          outComponent = new OutComponent();
            InComponent           inComponent  = new InComponent();
            PropertyToMethodRoute route        = PropertyToMethodRoute.Create <string>(outComponent, x => outComponent.StringOutProperty, inComponent, (x) => inComponent.StringActionIn(x));

            pkg.RegisterPropertyRoute(route);
            pkg.RegisterPropertyRoute(route);

            Assert.AreEqual(pkg.RegisteredPropertyRoutes.Count(), 1);

            pkg.UnregisterPropertyRoute(route);
        }
Ejemplo n.º 3
0
            public void CanCancelPropertyRouteUnregistration()
            {
                Package               pkg          = new Package();
                OutComponent          outComponent = new OutComponent();
                InComponent           inComponent  = new InComponent();
                PropertyToMethodRoute route        = PropertyToMethodRoute.Create <string>(outComponent, x => outComponent.StringOutProperty, inComponent, (x) => inComponent.StringActionIn(x));
                bool shouldCancel = true;

                pkg.PropertyRoutePreUnregister += (s, e) =>
                {
                    e.Cancel     = shouldCancel;
                    shouldCancel = false;
                };

                pkg.RegisterPropertyRoute(route);
                pkg.UnregisterPropertyRoute(route);
                Assert.IsTrue(pkg.RegisteredPropertyRoutes.Any());
                pkg.UnregisterPropertyRoute(route);
            }
Ejemplo n.º 4
0
            public void CanAttachToPropertyRouteUnregistered()
            {
                Package               pkg          = new Package();
                OutComponent          outComponent = new OutComponent();
                InComponent           inComponent  = new InComponent();
                PropertyToMethodRoute route        = PropertyToMethodRoute.Create <string>(outComponent, x => outComponent.StringOutProperty, inComponent, (x) => inComponent.StringActionIn(x));
                bool caught = false;

                pkg.PropertyRouteUnregistered += (s, e) =>
                {
                    caught = e.PropertyRoute == route;
                };

                pkg.RegisterPropertyRoute(route);
                pkg.UnregisterPropertyRoute(route);

                Assert.IsTrue(caught);
            }
Ejemplo n.º 5
0
        public void CanUnregisterAllRoutes()
        {
            Package               pkg          = new Package();
            OutComponent          outComponent = new OutComponent();
            InComponent           inComponent  = new InComponent();
            EventToMethodRoute    eRoute       = EventToMethodRoute.Create <TestEventArgs>(outComponent, "TestEventOut", inComponent, (x) => inComponent.TestEventArgsActionIn(x));
            PropertyToMethodRoute pRoute       = PropertyToMethodRoute.Create <string>(outComponent, x => outComponent.StringOutProperty, inComponent, (x) => inComponent.StringActionIn(x));

            pkg.RegisterEventRoute(eRoute);
            pkg.RegisterPropertyRoute(pRoute);

            pkg.UnregisterAll();

            Assert.IsTrue(!pkg.RegisteredEventRoutes.Any() & !pkg.RegisteredPropertyRoutes.Any());
        }
Ejemplo n.º 6
0
            public void CanRegisterEventArgsRouteWithReferenceConverter()
            {
                OutComponent  outComponent = new OutComponent();
                InComponent   inComponent  = new InComponent();
                TestEventArgs e            = new TestEventArgs("RouteOut", 100);
                TestEventArgsToStringRouteConverter converter = new TestEventArgsToStringRouteConverter();

                EventToMethodRoute route = EventToMethodRoute.Create <string>(outComponent, "TestEventOut", inComponent, (x) => inComponent.StringActionIn(x), converter);

                route.RegisterRoute();

                if (!route.IsRegistered)
                {
                    Assert.Fail("Route not registered.");
                }

                outComponent.RaiseTestEventOut(e);
                route.UnregisterRoute();

                Assert.IsTrue(string.Compare(e.EventString, inComponent.StringInProperty, false) == 0);
            }
Ejemplo n.º 7
0
            public void CanRegisterPropertyRouteWithReferenceConverter()
            {
                OutComponent outComponent           = new OutComponent();
                InComponent  inComponent            = new InComponent();
                IntToStringRouteConverter converter = new IntToStringRouteConverter();

                PropertyToMethodRoute route = PropertyToMethodRoute.Create <string>(outComponent, "IntOutProperty", inComponent, (x) => inComponent.StringActionIn(x), converter);

                route.RegisterRoute();

                if (!route.IsRegistered)
                {
                    Assert.Fail("Route not registered.");
                }

                outComponent.IntOutProperty = 100;
                route.UnregisterRoute();

                Assert.IsTrue(string.Compare(outComponent.IntOutProperty.ToString(), inComponent.StringInProperty, false) == 0);
            }