44 lines
1.2 KiB
Java
44 lines
1.2 KiB
Java
package akka.actor;
|
|
|
|
import akka.testkit.AkkaJUnitActorSystemResource;
|
|
import akka.testkit.TestProbe;
|
|
|
|
import org.junit.ClassRule;
|
|
import org.junit.Test;
|
|
import org.scalatest.junit.JUnitSuite;
|
|
|
|
public class StashJavaAPI extends JUnitSuite {
|
|
|
|
@ClassRule
|
|
public static AkkaJUnitActorSystemResource actorSystemResource =
|
|
new AkkaJUnitActorSystemResource("StashJavaAPI", ActorWithBoundedStashSpec.testConf());
|
|
|
|
private final ActorSystem system = actorSystemResource.getSystem();
|
|
|
|
private void testAStashApi(Props props) {
|
|
ActorRef ref = system.actorOf(props);
|
|
final TestProbe probe = new TestProbe(system);
|
|
probe.send(ref, "Hello");
|
|
probe.send(ref, "Hello2");
|
|
probe.send(ref, "Hello12");
|
|
probe.expectMsg(5);
|
|
}
|
|
|
|
@Test
|
|
public void mustBeAbleToUseStash() {
|
|
testAStashApi(Props.create(StashJavaAPITestActors.WithStash.class));
|
|
}
|
|
|
|
@Test
|
|
public void mustBeAbleToUseUnboundedStash() {
|
|
testAStashApi(Props.create(StashJavaAPITestActors.WithUnboundedStash.class));
|
|
}
|
|
|
|
@Test
|
|
public void mustBeAbleToUseUnrestrictedStash() {
|
|
testAStashApi(Props.create(StashJavaAPITestActors.WithUnrestrictedStash.class)
|
|
.withMailbox("akka.actor.mailbox.unbounded-deque-based"));
|
|
}
|
|
|
|
|
|
}
|