From e305563462750562e4ba4ffba6295985fa640823 Mon Sep 17 00:00:00 2001 From: lorenz <stu203404@mail.uni-kiel.de> Date: Mon, 19 Apr 2021 00:00:41 +0200 Subject: [PATCH] Fix Results.kt + add tests --- .../main/kotlin/theodolite/util/Results.kt | 15 +++++---- .../kotlin/theodolite/util/ResultsTest.kt | 31 +++++++++++++++++-- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/util/Results.kt b/theodolite-quarkus/src/main/kotlin/theodolite/util/Results.kt index ab40f3d1f..60641ea02 100644 --- a/theodolite-quarkus/src/main/kotlin/theodolite/util/Results.kt +++ b/theodolite-quarkus/src/main/kotlin/theodolite/util/Results.kt @@ -40,7 +40,8 @@ class Results { * @param load the [LoadDimension] * * @return the smallest suitable number of resources. If the experiment was not executed yet, - * a @see Resource with the constant Int.MAX_VALUE as value is returned. If no experiments have been marked as either successful or unsuccessful + * a @see Resource with the constant Int.MAX_VALUE as value is returned. + * If no experiments have been marked as either successful or unsuccessful * yet, a Resource with the constant value Int.MIN_VALUE is returned. */ fun getMinRequiredInstances(load: LoadDimension?): Resource? { @@ -72,13 +73,11 @@ class Results { fun getMaxBenchmarkedLoad(load: LoadDimension): LoadDimension? { var maxBenchmarkedLoad: LoadDimension? = null for (experiment in results) { - if (experiment.value) { - if (experiment.key.first.get() <= load.get()) { - if (maxBenchmarkedLoad == null) { - maxBenchmarkedLoad = experiment.key.first - } else if (maxBenchmarkedLoad.get() < experiment.key.first.get()) { - maxBenchmarkedLoad = experiment.key.first - } + if (experiment.key.first.get() <= load.get()) { + if (maxBenchmarkedLoad == null) { + maxBenchmarkedLoad = experiment.key.first + } else if (maxBenchmarkedLoad.get() < experiment.key.first.get()) { + maxBenchmarkedLoad = experiment.key.first } } } diff --git a/theodolite-quarkus/src/test/kotlin/theodolite/util/ResultsTest.kt b/theodolite-quarkus/src/test/kotlin/theodolite/util/ResultsTest.kt index 6a69040a4..9cfc2ae78 100644 --- a/theodolite-quarkus/src/test/kotlin/theodolite/util/ResultsTest.kt +++ b/theodolite-quarkus/src/test/kotlin/theodolite/util/ResultsTest.kt @@ -1,7 +1,8 @@ package theodolite.util import io.quarkus.test.junit.QuarkusTest -import org.junit.jupiter.api.Assertions.* +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Assertions.assertNotNull import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test @@ -44,7 +45,31 @@ internal class ResultsTest { LoadDimension(load, emptyList()), Resource(resources, emptyList()) ), - successful) + successful + ) } -} \ No newline at end of file + + @Test + fun testGetMaxBenchmarkedLoadWhenAllSuccessful() { + val results = Results() + results.setResult(10000, 1, true) + results.setResult(10000, 2, true) + + val test1 = results.getMaxBenchmarkedLoad(LoadDimension(100000, emptyList()))!!.get() + + assertEquals(10000, test1) + } + + @Test + fun testGetMaxBenchmarkedLoadWhenLargestNotSuccessful() { + val results = Results() + results.setResult(10000, 1, true) + results.setResult(10000, 2, true) + results.setResult(20000, 1, false) + + val test2 = results.getMaxBenchmarkedLoad(LoadDimension(100000, emptyList()))!!.get() + + assertEquals(20000, test2) + } +} -- GitLab