test_class.file: step-controller/step-controller-base-plugins/src/test/java/step/plugins/views/functions/ReportNodeStatisticsViewTest.java
test_class.identifier: ReportNodeStatisticsViewTest
test_case.body: @Test
  	public void test() {
  		ReportNodeStatisticsView view = new ReportNodeStatisticsView();
  		view.setResolutions(new int[]{10,100});
  		AbstractTimeBasedModel<ReportNodeStatisticsEntry> model = view.init();
  		for(int j=0;j<10;j++) {
  			for(int i=0;i<99;i++) {
  				CallFunctionReportNode node = new CallFunctionReportNode();
  				CallFunction callFunction = new CallFunction();
  				node.setArtefactInstance(callFunction);
  				node.setResolvedArtefact(callFunction);
  				HashMap<String,String> functionAttributes = new HashMap<>();
  				functionAttributes.put("name", "Function"+i%2);
  				node.setFunctionAttributes(functionAttributes);
  				node.setExecutionTime(j*100+i);
  				node.setDuration(i%2+1);
  				view.afterReportNodeExecution(model, node);
  			}
  		}
  		
  		Assert.assertEquals(10,model.getIntervals().size());
  		Assert.assertEquals(99,model.getIntervals().get(0l).getCount());
  		Assert.assertEquals(99,model.getIntervals().get(900l).getCount());
  		Assert.assertEquals(50,(int)model.getIntervals().get(900l).byFunctionName.get("Function0").count);
  		Assert.assertEquals(49,(int)model.getIntervals().get(900l).byFunctionName.get("Function1").count);
  		Assert.assertEquals(50,(int)model.getIntervals().get(900l).byFunctionName.get("Function0").sum);
  		Assert.assertEquals(98,(int)model.getIntervals().get(900l).byFunctionName.get("Function1").sum);
  	}
test_case.class_method_signature: ReportNodeStatisticsViewTest.test()
test_case.full_signature: @Test public void test()
test_case.identifier: test
test_case.invocations: setResolutions init setArtefactInstance setResolvedArtefact put setFunctionAttributes setExecutionTime setDuration afterReportNodeExecution assertEquals size getIntervals assertEquals getCount get getIntervals assertEquals getCount get getIntervals assertEquals get get getIntervals assertEquals get get getIntervals assertEquals get get getIntervals assertEquals get get getIntervals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void test()
focal_class.file: step-controller/step-controller-base-plugins/src/main/java/step/plugins/views/functions/ReportNodeStatisticsView.java
focal_class.identifier: ReportNodeStatisticsView
focal_class.class_method_signature: ReportNodeStatisticsView.afterReportNodeSkeletonCreation(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.full_signature: @Override public void afterReportNodeSkeletonCreation(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.identifier: afterReportNodeSkeletonCreation
focal_class.modifiers: @Override public
focal_class.parameters: (AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.return: void
focal_class.signature: void afterReportNodeSkeletonCreation(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.class_method_signature: ReportNodeStatisticsView.createPoint(ReportNode node)
focal_class.full_signature: private ReportNodeStatisticsEntry createPoint(ReportNode node)
focal_class.identifier: createPoint
focal_class.modifiers: private
focal_class.parameters: (ReportNode node)
focal_class.return: ReportNodeStatisticsEntry
focal_class.signature: ReportNodeStatisticsEntry createPoint(ReportNode node)
focal_class.class_method_signature: ReportNodeStatisticsView.afterReportNodeExecution(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.full_signature: @Override public void afterReportNodeExecution(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.identifier: afterReportNodeExecution
focal_class.modifiers: @Override public
focal_class.parameters: (AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.return: void
focal_class.signature: void afterReportNodeExecution(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.class_method_signature: ReportNodeStatisticsView.mergePoints(ReportNodeStatisticsEntry target, ReportNodeStatisticsEntry source)
focal_class.full_signature: @Override protected void mergePoints(ReportNodeStatisticsEntry target, ReportNodeStatisticsEntry source)
focal_class.identifier: mergePoints
focal_class.modifiers: @Override protected
focal_class.parameters: (ReportNodeStatisticsEntry target, ReportNodeStatisticsEntry source)
focal_class.return: void
focal_class.signature: void mergePoints(ReportNodeStatisticsEntry target, ReportNodeStatisticsEntry source)
focal_class.class_method_signature: ReportNodeStatisticsView.unMergePoints(ReportNodeStatisticsEntry target, ReportNodeStatisticsEntry source)
focal_class.full_signature: @Override protected void unMergePoints(ReportNodeStatisticsEntry target, ReportNodeStatisticsEntry source)
focal_class.identifier: unMergePoints
focal_class.modifiers: @Override protected
focal_class.parameters: (ReportNodeStatisticsEntry target, ReportNodeStatisticsEntry source)
focal_class.return: void
focal_class.signature: void unMergePoints(ReportNodeStatisticsEntry target, ReportNodeStatisticsEntry source)
focal_class.class_method_signature: ReportNodeStatisticsView.getViewId()
focal_class.full_signature: @Override public String getViewId()
focal_class.identifier: getViewId
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getViewId()
focal_class.class_method_signature: ReportNodeStatisticsView.rollbackReportNode(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.full_signature: @Override public void rollbackReportNode(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.identifier: rollbackReportNode
focal_class.modifiers: @Override public
focal_class.parameters: (AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.return: void
focal_class.signature: void rollbackReportNode(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_class.superclass: extends AbstractTimeBasedView<ReportNodeStatisticsEntry>
focal_method.body: @Override
  	public void afterReportNodeExecution(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node) {
  		ReportNodeStatisticsEntry e = createPoint(node);
  		if (e != null) {
  			addPoint(model, node.getExecutionTime(), e);
  		}
  	}
focal_method.class_method_signature: ReportNodeStatisticsView.afterReportNodeExecution(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_method.full_signature: @Override public void afterReportNodeExecution(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_method.identifier: afterReportNodeExecution
focal_method.invocations: createPoint addPoint getExecutionTime
focal_method.modifiers: @Override public
focal_method.parameters: (AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)
focal_method.return: void
focal_method.signature: void afterReportNodeExecution(AbstractTimeBasedModel<ReportNodeStatisticsEntry> model, ReportNode node)