Esempio n. 1
0
        public void CanUnregisterEventRoute()
        {
            Package            pkg          = new Package();
            OutComponent       outComponent = new OutComponent();
            InComponent        inComponent  = new InComponent();
            EventToMethodRoute route        = EventToMethodRoute.Create <TestEventArgs>(outComponent, "TestEventOut", inComponent, (x) => inComponent.TestEventArgsActionIn(x));

            pkg.RegisterEventRoute(route);
            pkg.UnregisterEventRoute(route);

            Assert.IsTrue(!pkg.RegisteredEventRoutes.Any());
        }
Esempio n. 2
0
            public void ComponentsRegistration()
            {
                Package            pkg          = new Package();
                OutComponent       outComponent = new OutComponent();
                InComponent        inComponent  = new InComponent();
                EventToMethodRoute route        = EventToMethodRoute.Create <TestEventArgs>(outComponent, "TestEventOut", inComponent, (x) => inComponent.TestEventArgsActionIn(x));

                pkg.RegisterEventRoute(route);
                Assert.AreEqual <int>(2, pkg.Components.Count());

                pkg.UnregisterEventRoute(route);
                Assert.AreEqual <int>(0, pkg.Components.Count());
            }
Esempio n. 3
0
        public void DuplicateEventRoutesDisalllowed()
        {
            Package            pkg          = new Package();
            OutComponent       outComponent = new OutComponent();
            InComponent        inComponent  = new InComponent();
            EventToMethodRoute route        = EventToMethodRoute.Create <TestEventArgs>(outComponent, "TestEventOut", inComponent, (x) => inComponent.TestEventArgsActionIn(x));

            pkg.RegisterEventRoute(route);
            pkg.RegisterEventRoute(route);

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

            pkg.UnregisterEventRoute(route);
        }
Esempio n. 4
0
            public void CanCancelEventRouteRegistration()
            {
                Package            pkg          = new Package();
                OutComponent       outComponent = new OutComponent();
                InComponent        inComponent  = new InComponent();
                EventToMethodRoute route        = EventToMethodRoute.Create <TestEventArgs>(outComponent, "TestEventOut", inComponent, (x) => inComponent.TestEventArgsActionIn(x));

                pkg.EventRoutePreRegister += (s, e) =>
                {
                    e.Cancel = true;
                };

                pkg.RegisterEventRoute(route);
                Assert.IsTrue(!pkg.RegisteredEventRoutes.Any());
            }
Esempio 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());
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());

            PublisherComponent  publisher  = new PublisherComponent();
            SubscriberComponent subscriber = new SubscriberComponent();
            EventToMethodRoute  route      = EventToMethodRoute.Create <EventArgs>(publisher, "IntervalEvent", subscriber, (x) => subscriber.ReceiveInterval(x));
            Package             package    = new Package("PubSub");

            package.RegisterEventRoute(route);

            Console.WriteLine("Preparing to publish... Please wait or press any key to exit.");
            Console.ReadKey();

            package.UnregisterAll();
            publisher.Dispose();
        }
Esempio n. 7
0
            public void CanAttachToEventRouteUnregistered()
            {
                Package            pkg          = new Package();
                OutComponent       outComponent = new OutComponent();
                InComponent        inComponent  = new InComponent();
                EventToMethodRoute route        = EventToMethodRoute.Create <TestEventArgs>(outComponent, "TestEventOut", inComponent, (x) => inComponent.TestEventArgsActionIn(x));
                bool caught = false;

                pkg.EventRouteUnregistered += (s, e) =>
                {
                    caught = e.EventRoute == route;
                };

                pkg.RegisterEventRoute(route);
                pkg.UnregisterEventRoute(route);

                Assert.IsTrue(caught);
            }
Esempio n. 8
0
            public void CanRegisterEventArgsRoute()
            {
                OutComponent  outComponent = new OutComponent();
                InComponent   inComponent  = new InComponent();
                TestEventArgs e            = new TestEventArgs("RouteOut", 100);

                EventToMethodRoute route = EventToMethodRoute.Create <TestEventArgs>(outComponent, "TestEventOut", inComponent, (x) => inComponent.TestEventArgsActionIn(x));

                route.RegisterRoute();

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

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

                Assert.AreEqual(inComponent.IntInProperty, e.EventInteger);
            }
Esempio n. 9
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);
            }