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()); }
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()); }
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); }
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()); }
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()); }
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(); }
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); }
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); }
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); }