test_class.file: step-controller/step-controller-base-plugins/src/test/java/step/plugins/views/functions/ErrorRateViewTest.java
test_class.identifier: ErrorRateViewTest
test_case.body: @Test
  	public void test() {
  		ErrorRateView view = new ErrorRateView();
  		view.setResolutions(new int[]{10,100});
  		AbstractTimeBasedModel<ErrorRateEntry> model = view.init();
  		for(int j=0;j<10;j++) {
  			for(int i=0;i<99;i++) {
  				ReportNode node = new CallFunctionReportNode();
  				CallFunction callFunction = new CallFunction();
  				node.setArtefactInstance(callFunction);
  				node.setResolvedArtefact(callFunction);
  				node.setExecutionTime(j*100+i);
  				node.setError("Error "+i%2, 0, true);
  				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).countByErrorMsg.get("Error 0"));
  		Assert.assertEquals(49,(int)model.getIntervals().get(900l).countByErrorMsg.get("Error 1"));
  	}
test_case.class_method_signature: ErrorRateViewTest.test()
test_case.full_signature: @Test public void test()
test_case.identifier: test
test_case.invocations: setResolutions init setArtefactInstance setResolvedArtefact setExecutionTime setError afterReportNodeExecution assertEquals size getIntervals assertEquals getCount get getIntervals assertEquals getCount 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/ErrorRateView.java
focal_class.identifier: ErrorRateView
focal_class.class_method_signature: ErrorRateView.afterReportNodeSkeletonCreation(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.full_signature: @Override public void afterReportNodeSkeletonCreation(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.identifier: afterReportNodeSkeletonCreation
focal_class.modifiers: @Override public
focal_class.parameters: (AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.return: void
focal_class.signature: void afterReportNodeSkeletonCreation(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.class_method_signature: ErrorRateView.createPoint(ReportNode node)
focal_class.full_signature: private ErrorRateEntry createPoint(ReportNode node)
focal_class.identifier: createPoint
focal_class.modifiers: private
focal_class.parameters: (ReportNode node)
focal_class.return: ErrorRateEntry
focal_class.signature: ErrorRateEntry createPoint(ReportNode node)
focal_class.class_method_signature: ErrorRateView.afterReportNodeExecution(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.full_signature: @Override public void afterReportNodeExecution(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.identifier: afterReportNodeExecution
focal_class.modifiers: @Override public
focal_class.parameters: (AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.return: void
focal_class.signature: void afterReportNodeExecution(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.class_method_signature: ErrorRateView.mergePoints(ErrorRateEntry target, ErrorRateEntry source)
focal_class.full_signature: @Override protected void mergePoints(ErrorRateEntry target, ErrorRateEntry source)
focal_class.identifier: mergePoints
focal_class.modifiers: @Override protected
focal_class.parameters: (ErrorRateEntry target, ErrorRateEntry source)
focal_class.return: void
focal_class.signature: void mergePoints(ErrorRateEntry target, ErrorRateEntry source)
focal_class.class_method_signature: ErrorRateView.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: ErrorRateView.rollbackReportNode(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.full_signature: @Override public void rollbackReportNode(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.identifier: rollbackReportNode
focal_class.modifiers: @Override public
focal_class.parameters: (AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.return: void
focal_class.signature: void rollbackReportNode(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_class.class_method_signature: ErrorRateView.unMergePoints(ErrorRateEntry target, ErrorRateEntry source)
focal_class.full_signature: @Override protected void unMergePoints(ErrorRateEntry target, ErrorRateEntry source)
focal_class.identifier: unMergePoints
focal_class.modifiers: @Override protected
focal_class.parameters: (ErrorRateEntry target, ErrorRateEntry source)
focal_class.return: void
focal_class.signature: void unMergePoints(ErrorRateEntry target, ErrorRateEntry source)
focal_class.superclass: extends AbstractTimeBasedView<ErrorRateEntry>
focal_method.body: @Override
  	public void afterReportNodeExecution(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node) {
  		ErrorRateEntry e = createPoint(node);
  		if (e != null) {
  			addPoint(model, node.getExecutionTime(), e);
  		}
  	}
focal_method.class_method_signature: ErrorRateView.afterReportNodeExecution(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_method.full_signature: @Override public void afterReportNodeExecution(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_method.identifier: afterReportNodeExecution
focal_method.invocations: createPoint addPoint getExecutionTime
focal_method.modifiers: @Override public
focal_method.parameters: (AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)
focal_method.return: void
focal_method.signature: void afterReportNodeExecution(AbstractTimeBasedModel<ErrorRateEntry> model, ReportNode node)