test_class.file: exercise_006_Actor_state/src/test/java/com/lightbend/training/coffeehouse/CoffeeHouseAppTest.java
test_class.identifier: CoffeeHouseAppTest
test_class.superclass: extends BaseAkkaTestCase
test_case.body: @Test
      public void shouldCreateNGuestsBasedOnCount() {
          new JavaTestKit(system) {{
              new CoffeeHouseApp(system) {
                  @Override
                  protected ActorRef createCoffeeHouse() {
                      return getRef();
                  }
              }.createGuest(2, new Coffee.Akkaccino(), Integer.MAX_VALUE);
              expectMsgAllOf(new CoffeeHouse.CreateGuest(new Coffee.Akkaccino()),
                      new CoffeeHouse.CreateGuest(new Coffee.Akkaccino()));
          }};
  
      }
test_case.class_method_signature: CoffeeHouseAppTest.shouldCreateNGuestsBasedOnCount()
test_case.full_signature: @Test public void shouldCreateNGuestsBasedOnCount()
test_case.identifier: shouldCreateNGuestsBasedOnCount
test_case.invocations: createGuest getRef expectMsgAllOf
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldCreateNGuestsBasedOnCount()
focal_class.declarator: optPattern = Pattern.compile("(\\S+)=(\\S+)")
focal_class.modifier: public static final
focal_class.original_string: public static final Pattern optPattern = Pattern.compile("(\\S+)=(\\S+)");
focal_class.type: Pattern
focal_class.var_name: optPattern
focal_class.declarator: system
focal_class.modifier: private final
focal_class.original_string: private final ActorSystem system;
focal_class.type: ActorSystem
focal_class.var_name: system
focal_class.declarator: log
focal_class.modifier: private final
focal_class.original_string: private final LoggingAdapter log;
focal_class.type: LoggingAdapter
focal_class.var_name: log
focal_class.declarator: coffeeHouse
focal_class.modifier: private final
focal_class.original_string: private final ActorRef coffeeHouse;
focal_class.type: ActorRef
focal_class.var_name: coffeeHouse
focal_class.file: exercise_006_Actor_state/src/main/java/com/lightbend/training/coffeehouse/CoffeeHouseApp.java
focal_class.identifier: CoffeeHouseApp
focal_class.interfaces: implements Terminal
focal_class.class_method_signature: CoffeeHouseApp.CoffeeHouseApp(final ActorSystem system)
focal_class.full_signature: public  CoffeeHouseApp(final ActorSystem system)
focal_class.identifier: CoffeeHouseApp
focal_class.modifiers: public
focal_class.parameters: (final ActorSystem system)
focal_class.signature:  CoffeeHouseApp(final ActorSystem system)
focal_class.class_method_signature: CoffeeHouseApp.main(final String[] args)
focal_class.full_signature: public static void main(final String[] args)
focal_class.identifier: main
focal_class.modifiers: public static
focal_class.parameters: (final String[] args)
focal_class.return: void
focal_class.signature: void main(final String[] args)
focal_class.class_method_signature: CoffeeHouseApp.argsToOpts(final List<String> args)
focal_class.full_signature: public static Map<String, String> argsToOpts(final List<String> args)
focal_class.identifier: argsToOpts
focal_class.modifiers: public static
focal_class.parameters: (final List<String> args)
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> argsToOpts(final List<String> args)
focal_class.class_method_signature: CoffeeHouseApp.applySystemProperties(final Map<String, String> opts)
focal_class.full_signature: public static void applySystemProperties(final Map<String, String> opts)
focal_class.identifier: applySystemProperties
focal_class.modifiers: public static
focal_class.parameters: (final Map<String, String> opts)
focal_class.return: void
focal_class.signature: void applySystemProperties(final Map<String, String> opts)
focal_class.class_method_signature: CoffeeHouseApp.printerProps(ActorRef coffeeHouse)
focal_class.full_signature: private static Props printerProps(ActorRef coffeeHouse)
focal_class.identifier: printerProps
focal_class.modifiers: private static
focal_class.parameters: (ActorRef coffeeHouse)
focal_class.return: Props
focal_class.signature: Props printerProps(ActorRef coffeeHouse)
focal_class.class_method_signature: CoffeeHouseApp.run()
focal_class.full_signature: private void run()
focal_class.identifier: run
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void run()
focal_class.class_method_signature: CoffeeHouseApp.createCoffeeHouse()
focal_class.full_signature: protected ActorRef createCoffeeHouse()
focal_class.identifier: createCoffeeHouse
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: ActorRef
focal_class.signature: ActorRef createCoffeeHouse()
focal_class.class_method_signature: CoffeeHouseApp.commandLoop()
focal_class.full_signature: private void commandLoop()
focal_class.identifier: commandLoop
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void commandLoop()
focal_class.class_method_signature: CoffeeHouseApp.createGuest(int count, Coffee coffee, int maxCoffeeCount)
focal_class.full_signature: protected void createGuest(int count, Coffee coffee, int maxCoffeeCount)
focal_class.identifier: createGuest
focal_class.modifiers: protected
focal_class.parameters: (int count, Coffee coffee, int maxCoffeeCount)
focal_class.return: void
focal_class.signature: void createGuest(int count, Coffee coffee, int maxCoffeeCount)
focal_class.class_method_signature: CoffeeHouseApp.getStatus()
focal_class.full_signature: protected void getStatus()
focal_class.identifier: getStatus
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void getStatus()
focal_method.body: protected void createGuest(int count, Coffee coffee, int maxCoffeeCount) {
          for (int i = 0; i < count; i++) {
              coffeeHouse.tell(CoffeeHouse.CreateGuest.Instance, ActorRef.noSender());
          }
      }
focal_method.class_method_signature: CoffeeHouseApp.createGuest(int count, Coffee coffee, int maxCoffeeCount)
focal_method.full_signature: protected void createGuest(int count, Coffee coffee, int maxCoffeeCount)
focal_method.identifier: createGuest
focal_method.invocations: tell noSender
focal_method.modifiers: protected
focal_method.parameters: (int count, Coffee coffee, int maxCoffeeCount)
focal_method.return: void
focal_method.signature: void createGuest(int count, Coffee coffee, int maxCoffeeCount)