test_class.declarator: client
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	Client client;
test_class.type: Client
test_class.var_name: client
test_class.declarator: config
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	TimestampConfig config;
test_class.type: TimestampConfig
test_class.var_name: config
test_class.declarator: plugin
test_class.modifier: @Inject
test_class.original_string: @Inject
  	TimestampPlugin plugin;
test_class.type: TimestampPlugin
test_class.var_name: plugin
test_class.file: runelite-client/src/test/java/net/runelite/client/plugins/timestamp/TimestampPluginTest.java
test_class.identifier: TimestampPluginTest
test_case.body: @Test
  	public void testGenerateTimestamp()
  	{
  		when(config.timestampFormat()).thenReturn("[yyyy:MM:dd:HH:hh:mm:ss]");
  
  		ConfigChanged configChanged = new ConfigChanged();
  		configChanged.setGroup("timestamp");
  		configChanged.setKey("format");
  		configChanged.setNewValue("true");
  		plugin.onConfigChanged(configChanged);
  
  		int testInput = 1554667116;
  		String testOutput = "[2019:04:07:15:03:58:36]";
  		TimeZone timeZone = TimeZone.getTimeZone("America/New_York");
  		plugin.getFormatter().setTimeZone(timeZone);
  		assertTrue(plugin.generateTimestamp(testInput, timeZone.toZoneId()).equals(testOutput));
  	}
test_case.class_method_signature: TimestampPluginTest.testGenerateTimestamp()
test_case.full_signature: @Test public void testGenerateTimestamp()
test_case.identifier: testGenerateTimestamp
test_case.invocations: thenReturn when timestampFormat setGroup setKey setNewValue onConfigChanged getTimeZone setTimeZone getFormatter assertTrue equals generateTimestamp toZoneId
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGenerateTimestamp()
focal_class.declarator: client
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private Client client;
focal_class.type: Client
focal_class.var_name: client
focal_class.declarator: config
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private TimestampConfig config;
focal_class.type: TimestampConfig
focal_class.var_name: config
focal_class.declarator: formatter
focal_class.modifier: @Getter
  	private
focal_class.original_string: @Getter
  	private SimpleDateFormat formatter;
focal_class.type: SimpleDateFormat
focal_class.var_name: formatter
focal_class.file: runelite-client/src/main/java/net/runelite/client/plugins/timestamp/TimestampPlugin.java
focal_class.identifier: TimestampPlugin
focal_class.class_method_signature: TimestampPlugin.provideConfig(final ConfigManager configManager)
focal_class.full_signature: @Provides public TimestampConfig provideConfig(final ConfigManager configManager)
focal_class.identifier: provideConfig
focal_class.modifiers: @Provides public
focal_class.parameters: (final ConfigManager configManager)
focal_class.return: TimestampConfig
focal_class.signature: TimestampConfig provideConfig(final ConfigManager configManager)
focal_class.class_method_signature: TimestampPlugin.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: TimestampPlugin.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: TimestampPlugin.onConfigChanged(ConfigChanged event)
focal_class.full_signature: @Subscribe public void onConfigChanged(ConfigChanged event)
focal_class.identifier: onConfigChanged
focal_class.modifiers: @Subscribe public
focal_class.parameters: (ConfigChanged event)
focal_class.return: void
focal_class.signature: void onConfigChanged(ConfigChanged event)
focal_class.class_method_signature: TimestampPlugin.onScriptCallbackEvent(ScriptCallbackEvent event)
focal_class.full_signature: @Subscribe public void onScriptCallbackEvent(ScriptCallbackEvent event)
focal_class.identifier: onScriptCallbackEvent
focal_class.modifiers: @Subscribe public
focal_class.parameters: (ScriptCallbackEvent event)
focal_class.return: void
focal_class.signature: void onScriptCallbackEvent(ScriptCallbackEvent event)
focal_class.class_method_signature: TimestampPlugin.getTimestampColour()
focal_class.full_signature: private Color getTimestampColour()
focal_class.identifier: getTimestampColour
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: Color
focal_class.signature: Color getTimestampColour()
focal_class.class_method_signature: TimestampPlugin.generateTimestamp(int timestamp, ZoneId zoneId)
focal_class.full_signature:  String generateTimestamp(int timestamp, ZoneId zoneId)
focal_class.identifier: generateTimestamp
focal_class.parameters: (int timestamp, ZoneId zoneId)
focal_class.return: String
focal_class.signature: String generateTimestamp(int timestamp, ZoneId zoneId)
focal_class.class_method_signature: TimestampPlugin.updateFormatter()
focal_class.full_signature: private void updateFormatter()
focal_class.identifier: updateFormatter
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void updateFormatter()
focal_class.superclass: extends Plugin
focal_method.body: String generateTimestamp(int timestamp, ZoneId zoneId)
  	{
  		final ZonedDateTime time = ZonedDateTime.ofInstant(
  			Instant.ofEpochSecond(timestamp), zoneId);
  
  		return formatter.format(Date.from(time.toInstant()));
  	}
focal_method.class_method_signature: TimestampPlugin.generateTimestamp(int timestamp, ZoneId zoneId)
focal_method.full_signature:  String generateTimestamp(int timestamp, ZoneId zoneId)
focal_method.identifier: generateTimestamp
focal_method.invocations: ofInstant ofEpochSecond format from toInstant
focal_method.parameters: (int timestamp, ZoneId zoneId)
focal_method.return: String
focal_method.signature: String generateTimestamp(int timestamp, ZoneId zoneId)