test_class.file: exercise_three/src/test/java/com/typesafe/training/coffeehouse/WaiterTest.java
test_class.identifier: WaiterTest
test_class.superclass: extends BaseAkkaTestCase
test_case.body: @Test
    public void sendingComplaintShouldResultInPrepareCoffeeToBarista() {
      new JavaTestKit(system) {{
        ActorRef barista = getRef();
        TestProbe guest = new TestProbe(system);
        ActorRef waiter = system.actorOf(Waiter.props(system.deadLetters(), barista, 1));
  
        waiter.tell(new Waiter.Complaint(new Coffee.Akkaccino()), guest.ref());
        expectMsgEquals(new Barista.PrepareCoffee(new Coffee.Akkaccino(), guest.ref()));
      }};
    }
test_case.class_method_signature: WaiterTest.sendingComplaintShouldResultInPrepareCoffeeToBarista()
test_case.full_signature: @Test public void sendingComplaintShouldResultInPrepareCoffeeToBarista()
test_case.identifier: sendingComplaintShouldResultInPrepareCoffeeToBarista
test_case.invocations: getRef actorOf props deadLetters tell ref expectMsgEquals ref
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void sendingComplaintShouldResultInPrepareCoffeeToBarista()
focal_class.declarator: coffeeHouse
focal_class.modifier: private
focal_class.original_string: private ActorRef coffeeHouse;
focal_class.type: ActorRef
focal_class.var_name: coffeeHouse
focal_class.declarator: barista
focal_class.modifier: private
focal_class.original_string: private ActorRef barista;
focal_class.type: ActorRef
focal_class.var_name: barista
focal_class.declarator: maxComplaintCount
focal_class.modifier: private
focal_class.original_string: private int maxComplaintCount;
focal_class.type: int
focal_class.var_name: maxComplaintCount
focal_class.declarator: complaintCount
focal_class.modifier: private
focal_class.original_string: private int complaintCount;
focal_class.type: int
focal_class.var_name: complaintCount
focal_class.file: exercise_three/src/main/java/com/typesafe/training/coffeehouse/Waiter.java
focal_class.identifier: Waiter
focal_class.class_method_signature: Waiter.Waiter(ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_class.full_signature: public  Waiter(ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_class.identifier: Waiter
focal_class.modifiers: public
focal_class.parameters: (ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_class.signature:  Waiter(ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_class.class_method_signature: Waiter.props(ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_class.full_signature: public static Props props(ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_class.identifier: props
focal_class.modifiers: public static
focal_class.parameters: (ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_class.return: Props
focal_class.signature: Props props(ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_class.superclass: extends AbstractLoggingActor
focal_method.body: public static Props props(ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount){
          return Props.create(Waiter.class, () -> new Waiter(coffeeHouse, barista, maxComplaintCount));
      }
focal_method.class_method_signature: Waiter.props(ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_method.full_signature: public static Props props(ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_method.identifier: props
focal_method.invocations: create
focal_method.modifiers: public static
focal_method.parameters: (ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)
focal_method.return: Props
focal_method.signature: Props props(ActorRef coffeeHouse, ActorRef barista, int maxComplaintCount)