test_class.file: exercise_011_Faulty_guest/src/test/java/com/lightbend/training/coffeehouse/GuestTest.java
test_class.identifier: GuestTest
test_class.superclass: extends BaseAkkaTestCase
test_case.body: @Test
      public void sendingCoffeeFinishedShouldInExceptionIfCaffeineLimitExceeded() {
          new JavaTestKit(system) {{
              ActorRef guest = system.actorOf(Guest.props(system.deadLetters(), new Coffee.Akkaccino(), duration("100 millis"), -1));
              eventFilter(this, Guest.CaffeineException.class, "", 1, () -> {
                  guest.tell(Guest.CoffeeFinished.Instance, ActorRef.noSender());
              });
          }};
      }
test_case.class_method_signature: GuestTest.sendingCoffeeFinishedShouldInExceptionIfCaffeineLimitExceeded()
test_case.full_signature: @Test public void sendingCoffeeFinishedShouldInExceptionIfCaffeineLimitExceeded()
test_case.identifier: sendingCoffeeFinishedShouldInExceptionIfCaffeineLimitExceeded
test_case.invocations: actorOf props deadLetters duration eventFilter tell noSender
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void sendingCoffeeFinishedShouldInExceptionIfCaffeineLimitExceeded()
focal_class.declarator: waiter
focal_class.modifier: private final
focal_class.original_string: private final ActorRef waiter;
focal_class.type: ActorRef
focal_class.var_name: waiter
focal_class.declarator: favoriteCoffee
focal_class.modifier: private final
focal_class.original_string: private final Coffee favoriteCoffee;
focal_class.type: Coffee
focal_class.var_name: favoriteCoffee
focal_class.declarator: finishCoffeeDuration
focal_class.modifier: private final
focal_class.original_string: private final FiniteDuration finishCoffeeDuration;
focal_class.type: FiniteDuration
focal_class.var_name: finishCoffeeDuration
focal_class.declarator: coffeeCount = 0
focal_class.modifier: private
focal_class.original_string: private int coffeeCount = 0;
focal_class.type: int
focal_class.var_name: coffeeCount
focal_class.file: exercise_011_Faulty_guest/src/main/java/com/lightbend/training/coffeehouse/Guest.java
focal_class.identifier: Guest
focal_class.class_method_signature: Guest.Guest(ActorRef waiter, Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_class.full_signature: public  Guest(ActorRef waiter, Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_class.identifier: Guest
focal_class.modifiers: public
focal_class.parameters: (ActorRef waiter, Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_class.signature:  Guest(ActorRef waiter, Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_class.class_method_signature: Guest.createReceive()
focal_class.full_signature: @Override public Receive createReceive()
focal_class.identifier: createReceive
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Receive
focal_class.signature: Receive createReceive()
focal_class.class_method_signature: Guest.props(final ActorRef waiter, final Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_class.full_signature: public static Props props(final ActorRef waiter, final Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_class.identifier: props
focal_class.modifiers: public static
focal_class.parameters: (final ActorRef waiter, final Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_class.return: Props
focal_class.signature: Props props(final ActorRef waiter, final Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_class.class_method_signature: Guest.postStop()
focal_class.full_signature: @Override public void postStop()
focal_class.identifier: postStop
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void postStop()
focal_class.class_method_signature: Guest.orderFavoriteCoffee()
focal_class.full_signature: private void orderFavoriteCoffee()
focal_class.identifier: orderFavoriteCoffee
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void orderFavoriteCoffee()
focal_class.class_method_signature: Guest.scheduleCoffeeFinished()
focal_class.full_signature: private void scheduleCoffeeFinished()
focal_class.identifier: scheduleCoffeeFinished
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void scheduleCoffeeFinished()
focal_class.superclass: extends AbstractLoggingActor
focal_method.body: public static Props props(final ActorRef waiter, final Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration) {
          return Props.create(Guest.class, () -> new Guest(waiter, favoriteCoffee, finishCoffeeDuration));
      }
focal_method.class_method_signature: Guest.props(final ActorRef waiter, final Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_method.full_signature: public static Props props(final ActorRef waiter, final Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_method.identifier: props
focal_method.invocations: create
focal_method.modifiers: public static
focal_method.parameters: (final ActorRef waiter, final Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)
focal_method.return: Props
focal_method.signature: Props props(final ActorRef waiter, final Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration)