public async Task SubscribeMultiple() { INATS nats = new NATS(_factory, _opts, _log); nats.ShouldNotBe(null); _server.Received().Sent += Arg.Any <EventHandler <dotnet_sockets.EventArgs <int> > >(); await nats.Connect(); nats.Subscribe("a", Substitute.For <Action <string> >()); nats.Subscribe("b", Substitute.For <Action <string> >()); nats.Subscribe("a", Substitute.For <Action <string> >()); _server.Received(2).Send(Arg.Any <string>()); _server.Received(1).Send(Arg.Is <string>(makeSubscription("a"))); _server.Received(1).Send(Arg.Is <string>(makeSubscription("b"))); }
public void Unsubscribe() { INATS nats = new NATS(_factory, _opts, _log); nats.ShouldNotBe(null); _server.Received().Sent += Arg.Any <EventHandler <dotnet_sockets.EventArgs <int> > >(); nats.Subscribe("a", Substitute.For <Action <string> >()); _server.Received(1).Send(Arg.Is <string>(makeSubscription("a"))); var sid = _sid - 1; nats.Unsubscribe("a"); _server.Received(1).Send(Arg.Is <string>(makeUnsubscription(sid))); }