diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/util/Results.kt b/theodolite-quarkus/src/main/kotlin/theodolite/util/Results.kt index ab40f3d1f722bab39c29e81621da86e8920bbf72..60641ea0248435de53aaaaf362da7be995b391c5 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 6a69040a47abaf2e39225c563dfbad1594b1f261..9cfc2ae78e7a8846e3f0fa136699509145e5de22 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) + } +}