public void Name() { var name = Guid.NewGuid().ToString(); var i = new InitializeSubscription(conn, "fake", name); Assert.AreEqual(name, i.Name); }
public async Task Delete() { var random = new Random(); var topic = string.Format("a{0}b", random.Next()); var sub = string.Format("a{0}b", random.Next()); var client = Substitute.For <IBusManagementClient>(); var init = new InitializeSubscription(client, topic, sub); await init.Delete(); await client.Received().SubscriptionDelete(topic, sub); }
public async Task CreateExists() { var random = new Random(); var topic = string.Format("a{0}b", random.Next()); var sub = string.Format("a{0}b", random.Next()); var client = Substitute.For <IBusManagementClient>(); client.SubscriptionExists(topic, sub).Returns(true); var init = new InitializeSubscription(client, topic, sub); var e = await init.CreateIfNotExists(); Assert.IsTrue(e); await client.Received().SubscriptionExists(topic, sub); await client.DidNotReceive().SubscriptionCreate(topic, sub); }
public void RegisterHandler <TArgs>( ScreenLifecycleEvent <TArgs> @event, Action <TArgs> handler, ExecutionOrder order = ExecutionOrder.Default ) where TArgs : ScreenEventArgs { IEventSubscription sub; bool isInitializeWithoutSubject = typeof(TArgs) == typeof(InitializeEventArgs); bool isInitializeWithSubject = typeof(InitializeEventArgs).IsAssignableFrom(typeof(TArgs)); if (isInitializeWithoutSubject) { sub = new InitializeSubscription( @event, order, (Action <InitializeEventArgs>)handler ); } else if (isInitializeWithSubject) { Type subjectType = typeof(TArgs) .GetGenericArguments() .Single(); Type subscriptionType = typeof(InitializeSubscription <>) .MakeGenericType(subjectType); sub = (IEventSubscription)Activator.CreateInstance( subscriptionType, @event, order, handler ); } else { sub = new EventSubscription <TArgs>( @event, handler, order ); } _handlers.Add(sub); }