Example #1
0
        public void Should_Be_Able_To_UnSubscribe()
        {
            var subject    = new Subject(Guid.NewGuid(), new HashSet <IActorRef>());
            var sut        = Sys.ActorOf(PubSubActor.CreateProps(subject));
            var subscriber = CreateTestActor("subscriber");
            var subscribe  = new UnSubscribe(subject.Id, subscriber);

            sut.Tell(subscribe);

            ExpectNoMsg();
        }
Example #2
0
        public void Should_Not_Be_Able_To_UnSubscribe_To_Wrong_Subject()
        {
            var subject    = new Subject(Guid.NewGuid(), new HashSet <IActorRef>());
            var sut        = Sys.ActorOf(PubSubActor.CreateProps(subject));
            var subscriber = CreateTestActor("subscriber");
            var message    = new UnSubscribe(Guid.NewGuid(), subscriber);

            sut.Tell(message);

            var result = ExpectMsg <ErrorMessage>();

            result.Error.ShouldBeAssignableTo(typeof(ArgumentException));
        }
Example #3
0
        public void Should_Be_Able_To_Publish_Message()
        {
            const string message    = "This is a test!";
            var          subject    = new Subject(Guid.NewGuid(), new HashSet <IActorRef>());
            var          sut        = Sys.ActorOf(PubSubActor.CreateProps(subject));
            var          subscriber = CreateTestActor("subscriber");
            var          subscribe  = new Subscribe(subject.Id, subscriber);

            sut.Tell(subscribe);
            var publishMessage = new PublishMessage(subject.Id, message);

            sut.Tell(publishMessage);
            var result = ExpectMsg <string>();

            result.ShouldBe(message);
        }