public void Send2Consumers() { // arrange var result1 = default(string); var result2 = default(string); var bus = new Microbus(); bus.Register<string>(message => result1 = message); bus.Register<string>(message => result2 = message); // act bus.Send("hello"); // assert Assert.Equal("hello", result1); Assert.Equal("hello", result2); }
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 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); } }