@Test
	public void testInferenceTime1() {
		
		Map<Integer, String> indexToState = new TreeMap<Integer,String>(); indexToState.put(0, "s1"); indexToState.put(1, "s2");  indexToState.put(2, "s3");
		List<IClassificationResult<Double>> dataset = generateDataset1();
		
		IClassificationSingleRunPerformances<Double> performances = new ClassificationStandardPerformances<Double>(indexToState);
		
		assertTrue(performances.getInferenceTimes().size() == 0);
		assertTrue( Double.isNaN( performances.getAvgInferenceTime()));
		assertTrue( Double.isNaN( performances.getVarianceInferenceTime()));
		
		performances.addResult(dataset.get(0), 1.2);
		assertTrue(performances.getInferenceTimes().size() == 1);
		assertTrue(performances.getAvgInferenceTime() == 1.2);
		assertTrue(performances.getVarianceInferenceTime() == 0.0);
		
		performances.addResult(dataset.get(1), 0.8);
		assertTrue(performances.getInferenceTimes().size() == 2);
		assertTrue(performances.getAvgInferenceTime() == 1.0);
		assertTrue( this.doublesEqual( performances.getVarianceInferenceTime(), Math.pow(0.2, 2)));
		
		performances.addResult(dataset.get(2), 1.0);
		assertTrue(performances.getInferenceTimes().size() == 3);
		assertTrue(performances.getAvgInferenceTime() == 1.0);
		assertTrue( this.doublesEqual( performances.getVarianceInferenceTime(), 2.0*Math.pow(0.2, 2)/3.0));
		
		performances.addResult(dataset.get(3), 1.6);
		assertTrue(performances.getInferenceTimes().size() == 4);
		assertTrue(performances.getAvgInferenceTime() == 4.6/4.0);
		assertTrue( this.doublesEqual( performances.getVarianceInferenceTime(), (Math.pow(1.2 - 4.6/4.0, 2) + Math.pow(0.8 - 4.6/4.0, 2) + Math.pow(1.0 - 4.6/4.0, 2) + Math.pow(1.6 - 4.6/4.0, 2))/4.0));
		
		performances.addResult(dataset.get(4));
		assertTrue( performances.getInferenceTimes() == null);
		assertTrue( Double.isNaN( performances.getAvgInferenceTime()));
		assertTrue( Double.isNaN( performances.getVarianceInferenceTime()));
		
		performances.addResult(dataset.get(5), 3.2);
		assertTrue(performances.getInferenceTimes() == null);
		assertTrue( Double.isNaN( performances.getAvgInferenceTime()));
		assertTrue( Double.isNaN( performances.getVarianceInferenceTime()));
	}