@Test
	public void testInferenceTime3() {
		
		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();
		
		List<Double> times = new Vector<Double>(10);
		times.add(0.8);times.add(0.3);times.add(0.05);times.add(1.0);times.add(0.45);
		times.add(1.2);times.add(1.7);times.add(1.95);times.add(1.0);times.add(1.55);
		
		IClassificationSingleRunPerformances<Double> performances = new ClassificationStandardPerformances<Double>(indexToState);
		
		assertTrue(performances.getInferenceTimes().size() == 0);
		assertTrue( Double.isNaN( performances.getAvgInferenceTime()));
		assertTrue( Double.isNaN( performances.getVarianceInferenceTime()));
		
		performances.addResults(dataset, times);
		assertTrue( performances.getInferenceTimes().size() == 10);
		assertTrue( this.doublesEqual( performances.getAvgInferenceTime(), 1.0));
		double var = (2*Math.pow(0.2, 2) + 2*Math.pow(0.7, 2) + 2*Math.pow(0.95, 2) + 2*Math.pow(0.55, 2)) / 10.0;
		assertTrue( this.doublesEqual( performances.getVarianceInferenceTime(), var));
		
		performances.addResults(dataset, null);
		assertTrue( performances.getInferenceTimes() == null);
		assertTrue( Double.isNaN( performances.getAvgInferenceTime()));
		assertTrue( Double.isNaN( performances.getVarianceInferenceTime()));
	}