public void can_send() { //Arrange var mockActor = MockFactory.WhenActorReceives <PingMessage>() .ItShouldTellSender(new PongMessage()) .CreateMockActorRef <MockActor>(); var mockActor1 = MockFactory.WhenActorReceives <PingMessage>() .ItShouldForwardItTo <MockActor>(new PingMessage()) .CreateMockActorRef <MockActor1>(); var mockActor2 = MockFactory.WhenActorReceives <PingMessage>() .ItShouldForwardItTo <MockActor1>(new PingMessage()) .CreateMockActor <MockActor2>(); var mockActor3 = MockFactory.WhenActorReceives <PingMessage>() .ItShouldForwardItTo <MockActor2>(new PingMessage()) .CreateMockActor <MockActor3>(); var mockActor4 = MockFactory.WhenActorReceives <PingMessage>() .ItShouldForwardItTo <MockActor3>(new PingMessage()) .CreateMockActorRef <MockActor4>(); mockActor4.Tell(new PingMessage()); MockFactory.ExpectMockActor(mockActor4).ToHaveReceivedMessage <PingMessage>(); MockFactory.ExpectMockActor(mockActor3).ToHaveReceivedMessage <PingMessage>(); MockFactory.ExpectMockActor(mockActor2).ToHaveReceivedMessage <PingMessage>(); MockFactory.ExpectMockActor(mockActor1).ToHaveReceivedMessage <PingMessage>(); MockFactory.ExpectMockActor(mockActor).ToHaveReceivedMessage <PingMessage>(); AwaitAssert(() => ExpectMsg <PongMessage>(), TimeSpan.FromMinutes(1)); }
public void actor_mocking0() { //Arrange // mockFactory = new AkkaMockFactory(new ContainerBuilder().Build(), Sys); var pingActor = MockFactory.WhenActorReceives <PingMessage>().ItShouldTellSender(new PongMessage()).SetUpMockActor <MockActor>(); var pingPongActor = MockFactory.WhenActorReceives <PingMessage>().ItShouldForwardItToChildActor(typeof(MockActor), new PingMessage()).WhenActorInitializes().ItShouldCreateChildActor(pingActor).CreateMockActorRef <MockActor2 <MockActor> >(); //Act pingPongActor.Tell(new PingMessage()); //Assert MockFactory.ExpectMockActor(pingActor).WhoseParentIs(pingPongActor).NotToHaveReceivedMessage <PongMessage>(20000); MockFactory.ExpectMockActor(pingActor).WhoseParentIs(pingPongActor).ToHaveReceivedMessage <PingMessage>(20000); }
// [ExpectedException] public void actor_mocking012() { //Arrange // mockFactory = new AkkaMockFactory(new ContainerBuilder().Build(), Sys); var pingActor = MockFactory.WhenActorReceives <PingMessage>().ItShouldTellSender(new PongMessage()).CreateMockActor <MockActor>(); var pingPongActor = MockFactory.WhenActorReceives <PingMessage>().ItShouldForwardItToChildActor(typeof(MockActor), new PingMessage()).CreateMockActorRef <MockActor2 <MockActor> >(); //Act pingPongActor.Tell(new PingMessage()); //Assert MockFactory.ExpectMockActor(pingActor).WhoseParentIs(pingPongActor).NotToHaveReceivedMessage <PongMessage>(); Xunit.Assert.Throws <Exception>(() => MockFactory.ExpectMockActor(pingActor).WhoseParentIs(pingPongActor).ToHaveReceivedMessage <PingMessage>()); }
public void actor_mocking014() { //Arrange // mockFactory = new AkkaMockFactory(new ContainerBuilder().Build(), Sys); var pingActor = MockFactory.WhenActorReceives <PingMessage>().ItShouldTellSender(new PongMessage()).CreateMockActor <MockActor>(); var pingPongActor = MockFactory.WhenActorReceives <PingMessage>().ItShouldTellAnotherActor(typeof(MockActor), new PingMessage()).CreateMockActorRef <MockActor2 <MockActor> >(); //Act pingPongActor.Tell(new PingMessage()); //Assert MockFactory.ExpectMockActor(pingActor).NotToHaveReceivedMessage <PongMessage>(); MockFactory.ExpectMockActor(pingActor).ToHaveReceivedMessage <PingMessage>(); }
public void actor_mocking() { //Arrange // mockFactory = new AkkaMockFactory(new ContainerBuilder().Build(), Sys); var pingActor = MockFactory.WhenActorReceives <PingMessage>().ItShouldTellSender(new PongMessage()).CreateMockActorRef <MockActor>(); var pingPongActor = MockFactory.WhenActorReceives <PingMessage>().ItShouldForwardItTo(pingActor, new PingMessage()).CreateMockActorRef <MockActor2>(); //Act pingPongActor.Tell(new PingMessage()); //Assert AwaitAssert(() => ExpectMsg <PongMessage>(), TimeSpan.FromSeconds(5)); MockFactory.ExpectMockActor(pingActor).NotToHaveReceivedMessage <PongMessage>(); MockFactory.ExpectMockActor(pingActor).ToHaveReceivedMessage <PingMessage>(); }
public void stash_test2() { //Arrange var pingPongActor = MockFactory .WhenActorReceives <PingMessage>() .ItShouldDo((a) => a.Stash.Stash()) .CreateMockActorRef <MockActor2>(); //Act pingPongActor.Tell(new PingMessage()); System.Threading.Thread.Sleep(TimeSpan.FromSeconds(3)); MockFactory.ClearAllMessages(); //Assert Assert.Throws <Exception>(() => MockFactory.ExpectMockActor(pingPongActor).ToHaveReceivedMessage <PingMessage>()); }
public void it_should_do_a_pong1() { //Arrange //mockFactory = new AkkaMockFactory(DependencyResolver.GetContainer(), Sys); MockFactory.WhenActorReceives <PingMessage>().ItShouldTellSender(new PongMessage()).CreateMockActor <MockActor>(); MockFactory.CreateActor <PingPongActor <MockActor> >(); //Act MockFactory.LocateActor(typeof(PingPongActor <>)).Tell(new PingMessage()); //Assert AwaitAssert(() => ExpectMsg <PingMessageCompleted>(), TimeSpan.FromSeconds(5)); AwaitAssert(() => ExpectMsg <PongMessage>(), TimeSpan.FromSeconds(5)); AwaitAssert(() => MockFactory.ExpectMockActor(typeof(MockActor)).WhoseParentIs(MockFactory.LocateActor(typeof(PingPongActor <>))).ToHaveReceivedMessage <PingMessage>(), TimeSpan.FromSeconds(5)); }
public void Supervision() { //Arrange // mockFactory = new AkkaMockFactory(new ContainerBuilder().Build(), Sys); var called = false; var pingPongActor = MockFactory .WhenActorReceives <PingMessage>().ItShouldTellSender(new PongMessage()) .WhenActorReceives <PingMessage>().ItShouldDo((actorAccess) => { called = true; }).CreateMockActorRef <MockActor2>(); //Act pingPongActor.Tell(new PingMessage()); //Assert AwaitCondition(() => called, TimeSpan.FromMinutes(1)); MockFactory.ExpectMockActor(pingPongActor).ToHaveReceivedMessage <PingMessage>(); }
public void stash_test() { //Arrange var pingPongActor = MockFactory .WhenActorReceives <PingMessage>() .ItShouldDo((a) => a.Stash.Stash()) .CreateMockActorRef <MockActor2>(); //Act pingPongActor.Tell(new PingMessage()); //Assert MockFactory.ExpectMockActor(pingPongActor).ToHaveReceivedMessage <PingMessage>(); //Act pingPongActor.Tell(new PingMessage()); //Assert MockFactory.ExpectMockActor(pingPongActor).ToHaveReceivedMessage <PingMessage>(); }
public void ItShouldForwardItToAnotherActor() { //Arrange var mock1 = MockFactory .WhenActorReceives <PingMessage>() .ItShouldForwardItTo(typeof(MockActor2), new PingMessage()) .CreateMockActorRef <MockActor1>(); var mock2 = MockFactory .WhenActorReceives <PingMessage>() .ItShouldTellSender(new PongMessage()) .CreateMockActorRef <MockActor2>(); //Act mock1.Tell(new PingMessage()); AwaitAssert(() => ExpectMsg <PongMessage>(), TimeSpan.FromSeconds(5)); MockFactory.ExpectMockActor(mock2).ToHaveReceivedMessage <PingMessage>(); }
public void ItShouldTellAnotherActor3() { //Arrange var mock2 = MockFactory .WhenActorReceives <PingMessage>() .ItShouldTellSender(new PongMessage()) .CreateMockActor <MockActor2>(); var mock1 = MockFactory .WhenActorReceives <PingMessage>() .ItShouldTellAnotherActor(mock2, new PingMessage()) .CreateMockActorRef <MockActor1>(); //Act mock1.Tell(new PingMessage()); // AwaitAssert(() => ExpectMsg<PongMessage>(), TimeSpan.FromSeconds(5)); Assert.Throws <TrueException>(() => AwaitAssert(() => ExpectMsg <PongMessage>(), TimeSpan.FromSeconds(5))); MockFactory.ExpectMockActor(mock2).ToHaveReceivedMessage <PingMessage>(); }
public void ItShouldTellItToChildActor2() { //Arrange var mock1 = MockFactory .WhenActorInitializes() .ItShouldCreateChildActor(typeof(MockActor2)) .WhenActorReceives <PingMessage>() .ItShouldForwardItToChildActor(typeof(MockActor2), new PingMessage()) .CreateMockActorRef <MockActor1 <MockActor2> >(); var mock2 = MockFactory .WhenActorReceives <PingMessage>() .ItShouldTellSender(new PongMessage()) .SetUpMockActor <MockActor2>(); //Act mock1.Tell(new PingMessage()); // mockFactory.JustWait(); Assert.Throws <Exception>(() => MockFactory.ExpectMockActor(mock2).ToHaveReceivedMessage <PingMessage>()); }
public void ItShouldTellItToChildActor() { //Arrange var mock2 = MockFactory .WhenActorReceives <PingMessage>() .ItShouldTellSender(new PongMessage()) .SetUpMockActor <MockActor2>(); var mock1 = MockFactory .WhenActorInitializes() .ItShouldCreateChildActor(typeof(MockActor2)) .WhenActorReceives <PingMessage>() .ItShouldTellItToChildActor(typeof(MockActor2), new PingMessage()) .CreateMockActorRef <MockActor1 <MockActor2> >(); //Act mock1.Tell(new PingMessage()); // mockFactory.JustWait(); MockFactory.ExpectMockActor(mock2).WhoseParentIs(mock1).ToHaveReceivedMessage <PingMessage>(); }
public void can_send_to_all_child_actors_2() { //Arrange var mockActor1 = MockFactory.WhenActorReceives <PingMessage1>().ItShouldTellSender(new PongMessage()) .SetUpMockActor <MockActor1>(); var mockActor2 = MockFactory.WhenActorReceives <PingMessage2>().ItShouldTellSender(new PongMessage()) .SetUpMockActor <MockActor2>(); var mockActor3 = MockFactory.WhenActorReceives <PingMessage3>().ItShouldTellSender(new PongMessage()) .SetUpMockActor <MockActor3>(); var mockActor4 = MockFactory.WhenActorReceives <PingMessage4>().ItShouldTellSender(new PongMessage()) .SetUpMockActor <MockActor4>(); var mockActor = MockFactory .WhenActorInitializes().ItShouldCreateChildActor(typeof(MockActor1)) .WhenActorInitializes().ItShouldCreateChildActor(typeof(MockActor2)) .WhenActorInitializes().ItShouldCreateChildActor(typeof(MockActor3)) .WhenActorInitializes().ItShouldCreateChildActor(typeof(MockActor4)) .WhenActorReceives <PingMessage1>().ItShouldTellItToChildActor <MockActor1>(new PingMessage1()) .WhenActorReceives <PingMessage2>().ItShouldTellItToChildActor <MockActor2>(new PingMessage2()) .WhenActorReceives <PingMessage3>().ItShouldTellItToChildActor <MockActor3>(new PingMessage3()) .WhenActorReceives <PingMessage4>().ItShouldTellItToChildActor <MockActor4>(new PingMessage4()) .CreateMockActorRef <MockActor <MockActor1, MockActor2, MockActor3, MockActor4> >(); //Act mockActor.Tell(new PingMessage1()); // mockActor.Tell(new PingMessage2()); mockActor.Tell(new PingMessage3()); mockActor.Tell(new PingMessage4()); MockFactory.ExpectMockActor(mockActor1).WhoseParentIs(mockActor).ToHaveReceivedMessage <PingMessage1>(); MockFactory.ExpectMockActor(mockActor2).WhoseParentIs(mockActor).NotToHaveReceivedMessage <PingMessage2>(); MockFactory.ExpectMockActor(mockActor3).WhoseParentIs(mockActor).ToHaveReceivedMessage <PingMessage3>(); MockFactory.ExpectMockActor(mockActor4).WhoseParentIs(mockActor).ToHaveReceivedMessage <PingMessage4>(); }