From 5f5d2168f98adb90e7e0d8010230a2fa89c5be35 Mon Sep 17 00:00:00 2001
From: Christian Wulf <chw@informatik.uni-kiel.de>
Date: Wed, 15 Oct 2014 08:16:39 +0200
Subject: [PATCH] fixed building the test method idendifier

---
 src/main/java/util/test/MeasurementRepository.java     |  3 +++
 src/main/java/util/test/PerformanceTest.java           | 10 +++++++++-
 .../java/util/test/ProfiledPerformanceAssertion.java   |  4 ----
 .../examples/experiment14/ChwWorkPerformanceCheck.java |  9 +++++----
 4 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/src/main/java/util/test/MeasurementRepository.java b/src/main/java/util/test/MeasurementRepository.java
index d510c785..99843106 100644
--- a/src/main/java/util/test/MeasurementRepository.java
+++ b/src/main/java/util/test/MeasurementRepository.java
@@ -7,4 +7,7 @@ public class MeasurementRepository {
 
 	public final Map<String, PerformanceResult> performanceResults = new HashMap<String, PerformanceResult>();
 
+	public static final String buildTestMethodIdentifier(final Class<?> testClass, final String methodName) {
+		return testClass.getName() + "(" + methodName + ")";
+	}
 }
diff --git a/src/main/java/util/test/PerformanceTest.java b/src/main/java/util/test/PerformanceTest.java
index d2f9e3ba..66c435b8 100644
--- a/src/main/java/util/test/PerformanceTest.java
+++ b/src/main/java/util/test/PerformanceTest.java
@@ -48,8 +48,11 @@ public abstract class PerformanceTest {
 
 	@After
 	public void after() {
+		String testMethodIdentifier = MeasurementRepository.buildTestMethodIdentifier(description.getTestClass(), description.getMethodName());
 		PerformanceResult performanceResult = StatisticsUtil.computeStatistics(this.stopWatch.getDurationInNs(), this.timestampObjects);
-		measurementRepository.performanceResults.put(this.description.getDisplayName(), performanceResult);
+		measurementRepository.performanceResults.put(testMethodIdentifier, performanceResult);
+
+		addToRepository(performanceResult);
 
 		System.out.println("Duration: " + TimeUnit.NANOSECONDS.toMillis(performanceResult.overallDurationInNs) + " ms");
 		System.out.println("avg duration: " + TimeUnit.NANOSECONDS.toMicros(performanceResult.avgDurInNs) + " µs");
@@ -59,4 +62,9 @@ public abstract class PerformanceTest {
 				+ TimeUnit.NANOSECONDS.toMicros(performanceResult.avgDurInNs + performanceResult.confidenceWidthInNs) + " µs]");
 	}
 
+	@Deprecated
+	private void addToRepository(final PerformanceResult performanceResult) {
+		measurementRepository.performanceResults.put(this.description.getDisplayName(), performanceResult);
+	}
+
 }
diff --git a/src/main/java/util/test/ProfiledPerformanceAssertion.java b/src/main/java/util/test/ProfiledPerformanceAssertion.java
index 88f30035..9e9bb488 100644
--- a/src/main/java/util/test/ProfiledPerformanceAssertion.java
+++ b/src/main/java/util/test/ProfiledPerformanceAssertion.java
@@ -5,8 +5,4 @@ public abstract class ProfiledPerformanceAssertion {
 	public abstract String getCorrespondingPerformanceProfile();
 
 	public abstract void check();
-
-	protected String buildTestMethodIdentifier(final Class<? extends PerformanceTest> testClass, final String methodName) {
-		return testClass.getName() + "(" + methodName + ")";
-	}
 }
diff --git a/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java b/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java
index 8f2dabdc..fa77b337 100644
--- a/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java
+++ b/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java
@@ -2,6 +2,7 @@ package teetime.examples.experiment14;
 
 import static org.junit.Assert.assertEquals;
 import teetime.examples.experiment01.MethodCallThoughputTimestampAnalysis1Test;
+import util.test.MeasurementRepository;
 import util.test.PerformanceResult;
 import util.test.PerformanceTest;
 import util.test.ProfiledPerformanceAssertion;
@@ -15,10 +16,10 @@ public class ChwWorkPerformanceCheck extends ProfiledPerformanceAssertion {
 
 	@Override
 	public void check() {
-		PerformanceResult test01 = PerformanceTest.measurementRepository.performanceResults
-				.get(buildTestMethodIdentifier(MethodCallThoughputTimestampAnalysis1Test.class, "testWithManyObjects"));
-		PerformanceResult test14 = PerformanceTest.measurementRepository.performanceResults
-				.get(buildTestMethodIdentifier(MethodCallThoughputTimestampAnalysis14Test.class, "testWithManyObjects"));
+		String testMethodIdentifier = MeasurementRepository.buildTestMethodIdentifier(MethodCallThoughputTimestampAnalysis1Test.class, "testWithManyObjects");
+		PerformanceResult test01 = PerformanceTest.measurementRepository.performanceResults.get(testMethodIdentifier);
+		testMethodIdentifier = MeasurementRepository.buildTestMethodIdentifier(MethodCallThoughputTimestampAnalysis14Test.class, "testWithManyObjects");
+		PerformanceResult test14 = PerformanceTest.measurementRepository.performanceResults.get(testMethodIdentifier);
 
 		double medianSpeedup = (double) test14.quantiles.get(0.5) / test01.quantiles.get(0.5);
 
-- 
GitLab