public void Send() { // arrange var result = default(string); var bus = new Microbus(); bus.Register<string>(message => result = message); // act bus.Send("hello"); // assert Assert.Equal("hello", result); }
public void ExceptionsBubbleUp() { // arrange var bus = new Microbus(); bus.Register<string>(message => { throw new Exception(); }); // act bus.Send("hello"); // assert ////Assert.Equal("foo", result1); ////Assert.Equal("bar", result2); }
public void Send2Messages() { // arrange var result = new List<string>(); var bus = new Microbus(); bus.Register<string>(message => result.Add(message)); // act bus.Send("foo"); bus.Send("bar"); // assert Assert.Equal("foo", result[0]); Assert.Equal("bar", result[1]); }
public static void Main() { var connectionString = @"Data Source=(localdb)\ProjectsV13;Initial Catalog=CarTracker;Integrated Security=True;"; var eventStoreRepository = new dddlib.Persistence.SqlServer.SqlServerEventStoreRepository(connectionString); var carListRepository = new dddlib.Projections.Memory.MemoryRepository <int, List <CarItem> >(); var view = new CarListView(carListRepository); var bus = new Microbus().AutoRegister(view); using (new dddlib.Persistence.EventDispatcher.SqlServer.SqlServerEventDispatcher( connectionString, (sequenceNumber, @event) => bus.Send(@event), Guid.NewGuid())) { new Application(eventStoreRepository, carListRepository).Run(); } }
public void SendChainedConsumers() { // arrange var result = default(string); var bus = new Microbus(); bus.Register<string>(message => bus.Send(new Message { Value = message })); bus.Register<Message>(message => result = message.Value); // act bus.Send("hello"); // assert Assert.Equal("hello", result); }
public void SendMutipleBus() { // arrange var result1 = default(string); var result2 = default(string); var bus1 = new Microbus(); var bus2 = new Microbus(); bus1.Register<string>(message => result1 = message); bus2.Register<string>(message => result2 = message); // act bus1.Send("foo"); bus2.Send("bar"); // assert Assert.Equal("foo", result1); Assert.Equal("bar", result2); }
public void SendCyclic() { // arrange var bus = new Microbus(); bus.Register<string>(message => bus.Send(message)); // act Action action = () => bus.Send("hello"); // assert try { action(); } catch (Exception ex) { Assert.Contains("cyclic", ex.Message); } }