test_class.declarator: service
test_class.modifier: @Mock
  	private
test_class.original_string: @Mock
  	private MailService service;
test_class.type: MailService
test_class.var_name: service
test_class.declarator: tuple
test_class.modifier: @Mock
  	private
test_class.original_string: @Mock
  	private Tuple tuple;
test_class.type: Tuple
test_class.var_name: tuple
test_class.file: hendrix-alerts/src/test/java/io/symcpe/hendrix/alerts/TestMailBolt.java
test_class.identifier: TestMailBolt
test_case.body: @Test
  	public void testMailBolt() {
  		MailBolt bolt = new MailBolt();
  		final AtomicReference<Values> processedEventContainer = new AtomicReference<Values>(null);
  		OutputCollector collector = MockTupleHelpers.mockCollector(new Answer<Object>() {
  
  			@Override
  			public Object answer(InvocationOnMock invocation) throws Throwable {
  				Object newEvent = invocation.getArguments()[2];
  				processedEventContainer.set((Values) newEvent);
  				System.out.println("Alert emitted:" + processedEventContainer.get());
  				return new ArrayList<>();
  			}
  		});
  		bolt.prepare(null, null, collector);
  		bolt.setMailService(service);
  		Alert alert = new Alert();
  		when(service.sendMail(alert)).thenReturn(true);
  		when(tuple.getValueByField(Constants.FIELD_ALERT)).thenReturn(alert);
  		bolt.execute(tuple);
  		verify(collector, times(1)).ack(tuple);
  		verify(service, times(1)).sendMail(alert);
  	}
test_case.class_method_signature: TestMailBolt.testMailBolt()
test_case.full_signature: @Test public void testMailBolt()
test_case.identifier: testMailBolt
test_case.invocations: mockCollector getArguments set println get prepare setMailService thenReturn when sendMail thenReturn when getValueByField execute ack verify times sendMail verify times
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testMailBolt()
focal_class.declarator: serialVersionUID = 1L
focal_class.modifier: private static final
focal_class.original_string: private static final long serialVersionUID = 1L;
focal_class.type: long
focal_class.var_name: serialVersionUID
focal_class.declarator: collector
focal_class.modifier: private transient
focal_class.original_string: private transient OutputCollector collector;
focal_class.type: OutputCollector
focal_class.var_name: collector
focal_class.declarator: mailService
focal_class.modifier: private transient
focal_class.original_string: private transient MailService mailService;
focal_class.type: MailService
focal_class.var_name: mailService
focal_class.file: hendrix-alerts/src/main/java/io/symcpe/hendrix/alerts/MailBolt.java
focal_class.identifier: MailBolt
focal_class.class_method_signature: MailBolt.MailBolt()
focal_class.full_signature: public  MailBolt()
focal_class.identifier: MailBolt
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  MailBolt()
focal_class.class_method_signature: MailBolt.prepare(Map stormConf, TopologyContext context, OutputCollector collector)
focal_class.full_signature: @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public void prepare(Map stormConf, TopologyContext context, OutputCollector collector)
focal_class.identifier: prepare
focal_class.modifiers: @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public
focal_class.parameters: (Map stormConf, TopologyContext context, OutputCollector collector)
focal_class.return: void
focal_class.signature: void prepare(Map stormConf, TopologyContext context, OutputCollector collector)
focal_class.class_method_signature: MailBolt.execute(Tuple tuple)
focal_class.full_signature: @Override public void execute(Tuple tuple)
focal_class.identifier: execute
focal_class.modifiers: @Override public
focal_class.parameters: (Tuple tuple)
focal_class.return: void
focal_class.signature: void execute(Tuple tuple)
focal_class.class_method_signature: MailBolt.declareOutputFields(OutputFieldsDeclarer declarer)
focal_class.full_signature: @Override public void declareOutputFields(OutputFieldsDeclarer declarer)
focal_class.identifier: declareOutputFields
focal_class.modifiers: @Override public
focal_class.parameters: (OutputFieldsDeclarer declarer)
focal_class.return: void
focal_class.signature: void declareOutputFields(OutputFieldsDeclarer declarer)
focal_class.class_method_signature: MailBolt.getMailService()
focal_class.full_signature: public MailService getMailService()
focal_class.identifier: getMailService
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: MailService
focal_class.signature: MailService getMailService()
focal_class.class_method_signature: MailBolt.setMailService(MailService mailService)
focal_class.full_signature: protected void setMailService(MailService mailService)
focal_class.identifier: setMailService
focal_class.modifiers: protected
focal_class.parameters: (MailService mailService)
focal_class.return: void
focal_class.signature: void setMailService(MailService mailService)
focal_class.superclass: extends BaseRichBolt
focal_method.body: public MailBolt() {
  	}
focal_method.class_method_signature: MailBolt.MailBolt()
focal_method.full_signature: public  MailBolt()
focal_method.identifier: MailBolt
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.signature:  MailBolt()