test_class.declarator: SMELT_CANNONBALL = "You remove the cannonballs from the mould"
test_class.modifier: private static final
test_class.original_string: private static final String SMELT_CANNONBALL = "You remove the cannonballs from the mould";
test_class.type: String
test_class.var_name: SMELT_CANNONBALL
test_class.declarator: SMELT_BAR = "You retrieve a bar of steel."
test_class.modifier: private static final
test_class.original_string: private static final String SMELT_BAR = "You retrieve a bar of steel.";
test_class.type: String
test_class.var_name: SMELT_BAR
test_class.declarator: smeltingPlugin
test_class.modifier: @Inject
test_class.original_string: @Inject
  	SmeltingPlugin smeltingPlugin;
test_class.type: SmeltingPlugin
test_class.var_name: smeltingPlugin
test_class.declarator: config
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	SmeltingConfig config;
test_class.type: SmeltingConfig
test_class.var_name: config
test_class.declarator: smeltingOverlay
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	SmeltingOverlay smeltingOverlay;
test_class.type: SmeltingOverlay
test_class.var_name: smeltingOverlay
test_class.declarator: overlayManager
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	OverlayManager overlayManager;
test_class.type: OverlayManager
test_class.var_name: overlayManager
test_class.file: runelite-client/src/test/java/net/runelite/client/plugins/smelting/SmeltingPluginTest.java
test_class.identifier: SmeltingPluginTest
test_case.body: @Test
  	public void testCannonballs()
  	{
  		ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.SPAM, "", SMELT_CANNONBALL, "", 0);
  		smeltingPlugin.onChatMessage(chatMessage);
  
  		SmeltingSession smeltingSession = smeltingPlugin.getSession();
  		assertNotNull(smeltingSession);
  		assertEquals(4, smeltingSession.getCannonBallsSmelted());
  	}
test_case.class_method_signature: SmeltingPluginTest.testCannonballs()
test_case.full_signature: @Test public void testCannonballs()
test_case.identifier: testCannonballs
test_case.invocations: onChatMessage getSession assertNotNull assertEquals getCannonBallsSmelted
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCannonballs()
focal_class.declarator: config
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private SmeltingConfig config;
focal_class.type: SmeltingConfig
focal_class.var_name: config
focal_class.declarator: overlay
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private SmeltingOverlay overlay;
focal_class.type: SmeltingOverlay
focal_class.var_name: overlay
focal_class.declarator: overlayManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private OverlayManager overlayManager;
focal_class.type: OverlayManager
focal_class.var_name: overlayManager
focal_class.declarator: session
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private SmeltingSession session;
focal_class.type: SmeltingSession
focal_class.var_name: session
focal_class.file: runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingPlugin.java
focal_class.identifier: SmeltingPlugin
focal_class.class_method_signature: SmeltingPlugin.getConfig(ConfigManager configManager)
focal_class.full_signature: @Provides SmeltingConfig getConfig(ConfigManager configManager)
focal_class.identifier: getConfig
focal_class.modifiers: @Provides
focal_class.parameters: (ConfigManager configManager)
focal_class.return: SmeltingConfig
focal_class.signature: SmeltingConfig getConfig(ConfigManager configManager)
focal_class.class_method_signature: SmeltingPlugin.startUp()
focal_class.full_signature: @Override protected void startUp()
focal_class.identifier: startUp
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void startUp()
focal_class.class_method_signature: SmeltingPlugin.shutDown()
focal_class.full_signature: @Override protected void shutDown()
focal_class.identifier: shutDown
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void shutDown()
focal_class.class_method_signature: SmeltingPlugin.onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked)
focal_class.full_signature: @Subscribe public void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked)
focal_class.identifier: onOverlayMenuClicked
focal_class.modifiers: @Subscribe public
focal_class.parameters: (OverlayMenuClicked overlayMenuClicked)
focal_class.return: void
focal_class.signature: void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked)
focal_class.class_method_signature: SmeltingPlugin.onChatMessage(ChatMessage event)
focal_class.full_signature: @Subscribe public void onChatMessage(ChatMessage event)
focal_class.identifier: onChatMessage
focal_class.modifiers: @Subscribe public
focal_class.parameters: (ChatMessage event)
focal_class.return: void
focal_class.signature: void onChatMessage(ChatMessage event)
focal_class.class_method_signature: SmeltingPlugin.onGameTick(GameTick event)
focal_class.full_signature: @Subscribe public void onGameTick(GameTick event)
focal_class.identifier: onGameTick
focal_class.modifiers: @Subscribe public
focal_class.parameters: (GameTick event)
focal_class.return: void
focal_class.signature: void onGameTick(GameTick event)
focal_class.superclass: extends Plugin
focal_method.body: @Subscribe
  	public void onChatMessage(ChatMessage event)
  	{
  		if (event.getType() != ChatMessageType.SPAM)
  		{
  			return;
  		}
  
  		if (event.getMessage().startsWith("You retrieve a bar of"))
  		{
  			if (session == null)
  			{
  				session = new SmeltingSession();
  			}
  			session.increaseBarsSmelted();
  		}
  		else if (event.getMessage().startsWith("You remove the cannonballs from the mould"))
  		{
  			if (session == null)
  			{
  				session = new SmeltingSession();
  			}
  			session.increaseCannonBallsSmelted();
  		}
  	}
focal_method.class_method_signature: SmeltingPlugin.onChatMessage(ChatMessage event)
focal_method.full_signature: @Subscribe public void onChatMessage(ChatMessage event)
focal_method.identifier: onChatMessage
focal_method.invocations: getType startsWith getMessage increaseBarsSmelted startsWith getMessage increaseCannonBallsSmelted
focal_method.modifiers: @Subscribe public
focal_method.parameters: (ChatMessage event)
focal_method.return: void
focal_method.signature: void onChatMessage(ChatMessage event)